Skip to content

Instantly share code, notes, and snippets.

@cuadros-code
Created July 12, 2022 21:23
Show Gist options
  • Save cuadros-code/c4683c1a3382cbfd6e85c7d03b2cee03 to your computer and use it in GitHub Desktop.
Save cuadros-code/c4683c1a3382cbfd6e85c7d03b2cee03 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506101ea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063380c7a671461003b578063a87430ba14610045575b600080fd5b610043610075565b005b61005f600480360381019061005a9190610103565b6100ce565b60405161006c919061013f565b60405180910390f35b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60006020528060005260406000206000915054906101000a900460ff1681565b6000813590506100fd8161019d565b92915050565b60006020828403121561011957610118610198565b5b6000610127848285016100ee565b91505092915050565b6101398161016c565b82525050565b60006020820190506101546000830184610130565b92915050565b600061016582610178565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6101a68161015a565b81146101b157600080fd5b5056fea2646970667358221220be03356e35a0173bdf936bec835ea028bafdc6e868c6f3d121e04508f96fee4464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EA DUP1 PUSH2 0x20 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x380C7A67 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xA87430BA EQ PUSH2 0x45 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x103 JUMP JUMPDEST PUSH2 0xCE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xFD DUP2 PUSH2 0x19D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x119 JUMPI PUSH2 0x118 PUSH2 0x198 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x127 DUP5 DUP3 DUP6 ADD PUSH2 0xEE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x139 DUP2 PUSH2 0x16C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x154 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x165 DUP3 PUSH2 0x178 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A6 DUP2 PUSH2 0x15A JUMP JUMPDEST DUP2 EQ PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBE SUB CALLDATALOAD PUSH15 0x35A0173BDF936BEC835EA028BAFDC6 0xE8 PUSH9 0xC6F3D121E04508F96F 0xEE DIFFICULTY PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:153:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@authenticate_16": {
"entryPoint": 117,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
},
"@users_5": {
"entryPoint": 206,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 238,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 259,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 304,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 319,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 346,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 364,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 376,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 408,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 413,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1600:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:1"
},
"nodeType": "YulFunctionCall",
"src": "266:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:119:1"
},
{
"nodeType": "YulBlock",
"src": "357:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "432:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "411:20:1"
},
"nodeType": "YulFunctionCall",
"src": "411:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "546:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "563:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "583:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "568:14:1"
},
"nodeType": "YulFunctionCall",
"src": "568:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "556:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "556:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "534:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "541:3:1",
"type": ""
}
],
"src": "487:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "694:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "704:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "716:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "727:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "712:3:1"
},
"nodeType": "YulFunctionCall",
"src": "712:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "704:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "778:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "791:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "802:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "787:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "740:37:1"
},
"nodeType": "YulFunctionCall",
"src": "740:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "740:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "666:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "678:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "689:4:1",
"type": ""
}
],
"src": "602:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "858:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "868:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "884:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "878:5:1"
},
"nodeType": "YulFunctionCall",
"src": "878:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "868:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "851:6:1",
"type": ""
}
],
"src": "818:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "944:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "954:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "983:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "965:17:1"
},
"nodeType": "YulFunctionCall",
"src": "965:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "954:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "926:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "936:7:1",
"type": ""
}
],
"src": "899:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1043:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1053:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1078:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1071:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1071:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1064:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1064:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1053:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1025:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1035:7:1",
"type": ""
}
],
"src": "1001:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1142:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1152:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1167:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1174:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1163:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1163:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1152:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1124:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1134:7:1",
"type": ""
}
],
"src": "1097:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1318:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1335:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1338:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1328:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1328:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1328:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1229:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1441:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1458:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1461:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1451:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1451:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1451:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1352:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1518:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1575:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1584:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1577:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1577:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1541:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1566:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1548:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1548:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1538:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1538:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1531:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1531:43:1"
},
"nodeType": "YulIf",
"src": "1528:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1511:5:1",
"type": ""
}
],
"src": "1475:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063380c7a671461003b578063a87430ba14610045575b600080fd5b610043610075565b005b61005f600480360381019061005a9190610103565b6100ce565b60405161006c919061013f565b60405180910390f35b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60006020528060005260406000206000915054906101000a900460ff1681565b6000813590506100fd8161019d565b92915050565b60006020828403121561011957610118610198565b5b6000610127848285016100ee565b91505092915050565b6101398161016c565b82525050565b60006020820190506101546000830184610130565b92915050565b600061016582610178565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6101a68161015a565b81146101b157600080fd5b5056fea2646970667358221220be03356e35a0173bdf936bec835ea028bafdc6e868c6f3d121e04508f96fee4464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x380C7A67 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xA87430BA EQ PUSH2 0x45 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x103 JUMP JUMPDEST PUSH2 0xCE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xFD DUP2 PUSH2 0x19D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x119 JUMPI PUSH2 0x118 PUSH2 0x198 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x127 DUP5 DUP3 DUP6 ADD PUSH2 0xEE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x139 DUP2 PUSH2 0x16C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x154 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x165 DUP3 PUSH2 0x178 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A6 DUP2 PUSH2 0x15A JUMP JUMPDEST DUP2 EQ PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBE SUB CALLDATALOAD PUSH15 0x35A0173BDF936BEC835EA028BAFDC6 0xE8 PUSH9 0xC6F3D121E04508F96F 0xEE DIFFICULTY PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:153:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;147:73;;;:::i;:::-;;101:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;147:73;209:4;189:5;:17;195:10;189:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;147:73::o;101:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:109::-;568:21;583:5;568:21;:::i;:::-;563:3;556:34;487:109;;:::o;602:210::-;689:4;727:2;716:9;712:18;704:26;;740:65;802:1;791:9;787:17;778:6;740:65;:::i;:::-;602:210;;;;:::o;899:96::-;936:7;965:24;983:5;965:24;:::i;:::-;954:35;;899:96;;;:::o;1001:90::-;1035:7;1078:5;1071:13;1064:21;1053:32;;1001:90;;;:::o;1097:126::-;1134:7;1174:42;1167:5;1163:54;1152:65;;1097:126;;;:::o;1352:117::-;1461:1;1458;1451:12;1475:122;1548:24;1566:5;1548:24;:::i;:::-;1541:5;1538:35;1528:63;;1587:1;1584;1577:12;1528:63;1475:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "98000",
"executionCost": "147",
"totalCost": "98147"
},
"external": {
"authenticate()": "24478",
"users(address)": "2845"
}
},
"methodIdentifiers": {
"authenticate()": "380c7a67",
"users(address)": "a87430ba"
}
},
"abi": [
{
"inputs": [],
"name": "authenticate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "users",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "authenticate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "users",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Authentication.sol": "Authentication"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Authentication.sol": {
"keccak256": "0x51705698f085d7a0b7468585b57e757ed66b2c16f4dabdfabe1ea35808d7a08c",
"license": "GPL-3.0",
"urls": [
"bzz-raw://f2e8f565d8f58164e2e120c71561e7cb2d3d8394c344890472406df631abd5d2",
"dweb:/ipfs/QmedA2w2uDAV8VDbFzLSbU6o3qkWZ5bTgorfwZD1SLx7Ck"
]
}
},
"version": 1
}
{
"id": "02faec18abc31f557bd56b650067e8c4",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/MyToken.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\n\r\ncontract MyToken {\r\n\r\n string public constant tokenName = \"Enerva\";\r\n string public constant tokenSymbol = \"ENV\";\r\n uint8 public constant decimals = 18;\r\n\r\n \r\n\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/MyToken.sol": {
"MyToken": {
"abi": [
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenSymbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/MyToken.sol\":74:248 contract MyToken {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/MyToken.sol\":74:248 contract MyToken {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x313ce567\n eq\n tag_3\n jumpi\n dup1\n 0x6c02a931\n eq\n tag_4\n jumpi\n dup1\n 0x7b61c320\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":100:143 string public constant tokenName = \"Enerva\" */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":150:192 string public constant tokenSymbol = \"ENV\" */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_13\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n tag_7:\n /* \"contracts/MyToken.sol\":232:234 18 */\n 0x12\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n dup2\n jump\t// out\n /* \"contracts/MyToken.sol\":100:143 string public constant tokenName = \"Enerva\" */\n tag_11:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x06\n dup2\n mstore\n 0x20\n add\n 0x456e657276610000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/MyToken.sol\":150:192 string public constant tokenSymbol = \"ENV\" */\n tag_15:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x454e560000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"#utility.yul\":7:371 */\n tag_18:\n /* \"#utility.yul\":95:98 */\n 0x00\n /* \"#utility.yul\":123:162 */\n tag_20\n /* \"#utility.yul\":156:161 */\n dup3\n /* \"#utility.yul\":123:162 */\n tag_21\n jump\t// in\n tag_20:\n /* \"#utility.yul\":178:249 */\n tag_22\n /* \"#utility.yul\":242:248 */\n dup2\n /* \"#utility.yul\":237:240 */\n dup6\n /* \"#utility.yul\":178:249 */\n tag_23\n jump\t// in\n tag_22:\n /* \"#utility.yul\":171:249 */\n swap4\n pop\n /* \"#utility.yul\":258:310 */\n tag_24\n /* \"#utility.yul\":303:309 */\n dup2\n /* \"#utility.yul\":298:301 */\n dup6\n /* \"#utility.yul\":291:295 */\n 0x20\n /* \"#utility.yul\":284:289 */\n dup7\n /* \"#utility.yul\":280:296 */\n add\n /* \"#utility.yul\":258:310 */\n tag_25\n jump\t// in\n tag_24:\n /* \"#utility.yul\":335:364 */\n tag_26\n /* \"#utility.yul\":357:363 */\n dup2\n /* \"#utility.yul\":335:364 */\n tag_27\n jump\t// in\n tag_26:\n /* \"#utility.yul\":330:333 */\n dup5\n /* \"#utility.yul\":326:365 */\n add\n /* \"#utility.yul\":319:365 */\n swap2\n pop\n /* \"#utility.yul\":99:371 */\n pop\n /* \"#utility.yul\":7:371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":377:489 */\n tag_28:\n /* \"#utility.yul\":460:482 */\n tag_30\n /* \"#utility.yul\":476:481 */\n dup2\n /* \"#utility.yul\":460:482 */\n tag_31\n jump\t// in\n tag_30:\n /* \"#utility.yul\":455:458 */\n dup3\n /* \"#utility.yul\":448:483 */\n mstore\n /* \"#utility.yul\":377:489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":495:808 */\n tag_13:\n /* \"#utility.yul\":608:612 */\n 0x00\n /* \"#utility.yul\":646:648 */\n 0x20\n /* \"#utility.yul\":635:644 */\n dup3\n /* \"#utility.yul\":631:649 */\n add\n /* \"#utility.yul\":623:649 */\n swap1\n pop\n /* \"#utility.yul\":695:704 */\n dup2\n /* \"#utility.yul\":689:693 */\n dup2\n /* \"#utility.yul\":685:705 */\n sub\n /* \"#utility.yul\":681:682 */\n 0x00\n /* \"#utility.yul\":670:679 */\n dup4\n /* \"#utility.yul\":666:683 */\n add\n /* \"#utility.yul\":659:706 */\n mstore\n /* \"#utility.yul\":723:801 */\n tag_33\n /* \"#utility.yul\":796:800 */\n dup2\n /* \"#utility.yul\":787:793 */\n dup5\n /* \"#utility.yul\":723:801 */\n tag_18\n jump\t// in\n tag_33:\n /* \"#utility.yul\":715:801 */\n swap1\n pop\n /* \"#utility.yul\":495:808 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":814:1028 */\n tag_9:\n /* \"#utility.yul\":903:907 */\n 0x00\n /* \"#utility.yul\":941:943 */\n 0x20\n /* \"#utility.yul\":930:939 */\n dup3\n /* \"#utility.yul\":926:944 */\n add\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":954:1021 */\n tag_35\n /* \"#utility.yul\":1018:1019 */\n 0x00\n /* \"#utility.yul\":1007:1016 */\n dup4\n /* \"#utility.yul\":1003:1020 */\n add\n /* \"#utility.yul\":994:1000 */\n dup5\n /* \"#utility.yul\":954:1021 */\n tag_28\n jump\t// in\n tag_35:\n /* \"#utility.yul\":814:1028 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1034:1133 */\n tag_21:\n /* \"#utility.yul\":1086:1092 */\n 0x00\n /* \"#utility.yul\":1120:1125 */\n dup2\n /* \"#utility.yul\":1114:1126 */\n mload\n /* \"#utility.yul\":1104:1126 */\n swap1\n pop\n /* \"#utility.yul\":1034:1133 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1139:1308 */\n tag_23:\n /* \"#utility.yul\":1223:1234 */\n 0x00\n /* \"#utility.yul\":1257:1263 */\n dup3\n /* \"#utility.yul\":1252:1255 */\n dup3\n /* \"#utility.yul\":1245:1264 */\n mstore\n /* \"#utility.yul\":1297:1301 */\n 0x20\n /* \"#utility.yul\":1292:1295 */\n dup3\n /* \"#utility.yul\":1288:1302 */\n add\n /* \"#utility.yul\":1273:1302 */\n swap1\n pop\n /* \"#utility.yul\":1139:1308 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1314:1400 */\n tag_31:\n /* \"#utility.yul\":1349:1356 */\n 0x00\n /* \"#utility.yul\":1389:1393 */\n 0xff\n /* \"#utility.yul\":1382:1387 */\n dup3\n /* \"#utility.yul\":1378:1394 */\n and\n /* \"#utility.yul\":1367:1394 */\n swap1\n pop\n /* \"#utility.yul\":1314:1400 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1406:1713 */\n tag_25:\n /* \"#utility.yul\":1474:1475 */\n 0x00\n /* \"#utility.yul\":1484:1597 */\n tag_40:\n /* \"#utility.yul\":1498:1504 */\n dup4\n /* \"#utility.yul\":1495:1496 */\n dup2\n /* \"#utility.yul\":1492:1505 */\n lt\n /* \"#utility.yul\":1484:1597 */\n iszero\n tag_42\n jumpi\n /* \"#utility.yul\":1583:1584 */\n dup1\n /* \"#utility.yul\":1578:1581 */\n dup3\n /* \"#utility.yul\":1574:1585 */\n add\n /* \"#utility.yul\":1568:1586 */\n mload\n /* \"#utility.yul\":1564:1565 */\n dup2\n /* \"#utility.yul\":1559:1562 */\n dup5\n /* \"#utility.yul\":1555:1566 */\n add\n /* \"#utility.yul\":1548:1587 */\n mstore\n /* \"#utility.yul\":1520:1522 */\n 0x20\n /* \"#utility.yul\":1517:1518 */\n dup2\n /* \"#utility.yul\":1513:1523 */\n add\n /* \"#utility.yul\":1508:1523 */\n swap1\n pop\n /* \"#utility.yul\":1484:1597 */\n jump(tag_40)\n tag_42:\n /* \"#utility.yul\":1615:1621 */\n dup4\n /* \"#utility.yul\":1612:1613 */\n dup2\n /* \"#utility.yul\":1609:1622 */\n gt\n /* \"#utility.yul\":1606:1707 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":1695:1696 */\n 0x00\n /* \"#utility.yul\":1686:1692 */\n dup5\n /* \"#utility.yul\":1681:1684 */\n dup5\n /* \"#utility.yul\":1677:1693 */\n add\n /* \"#utility.yul\":1670:1697 */\n mstore\n /* \"#utility.yul\":1606:1707 */\n tag_43:\n /* \"#utility.yul\":1455:1713 */\n pop\n /* \"#utility.yul\":1406:1713 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1719:1821 */\n tag_27:\n /* \"#utility.yul\":1760:1766 */\n 0x00\n /* \"#utility.yul\":1811:1813 */\n 0x1f\n /* \"#utility.yul\":1807:1814 */\n not\n /* \"#utility.yul\":1802:1804 */\n 0x1f\n /* \"#utility.yul\":1795:1800 */\n dup4\n /* \"#utility.yul\":1791:1805 */\n add\n /* \"#utility.yul\":1787:1815 */\n and\n /* \"#utility.yul\":1777:1815 */\n swap1\n pop\n /* \"#utility.yul\":1719:1821 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220d16706ab8d99b1d578de6df36bdf51ad66fcdb4169f8268c1cf450ded1399a0864736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061023f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063313ce567146100465780636c02a931146100645780637b61c32014610082575b600080fd5b61004e6100a0565b60405161005b9190610181565b60405180910390f35b61006c6100a5565b604051610079919061015f565b60405180910390f35b61008a6100de565b604051610097919061015f565b60405180910390f35b601281565b6040518060400160405280600681526020017f456e65727661000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600381526020017f454e56000000000000000000000000000000000000000000000000000000000081525081565b60006101228261019c565b61012c81856101a7565b935061013c8185602086016101c5565b610145816101f8565b840191505092915050565b610159816101b8565b82525050565b600060208201905081810360008301526101798184610117565b905092915050565b60006020820190506101966000830184610150565b92915050565b600081519050919050565b600082825260208201905092915050565b600060ff82169050919050565b60005b838110156101e35780820151818401526020810190506101c8565b838111156101f2576000848401525b50505050565b6000601f19601f830116905091905056fea2646970667358221220d16706ab8d99b1d578de6df36bdf51ad66fcdb4169f8268c1cf450ded1399a0864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6C02A931 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x7B61C320 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0xDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122 DUP3 PUSH2 0x19C JUMP JUMPDEST PUSH2 0x12C DUP2 DUP6 PUSH2 0x1A7 JUMP JUMPDEST SWAP4 POP PUSH2 0x13C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x1F8 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x1B8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x179 DUP2 DUP5 PUSH2 0x117 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x150 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1F2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH8 0x6AB8D99B1D578DE PUSH14 0xF36BDF51AD66FCDB4169F8268C1C DELEGATECALL POP 0xDE 0xD1 CODECOPY SWAP11 ADDMOD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:174:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@decimals_10": {
"entryPoint": 160,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@tokenName_4": {
"entryPoint": 165,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@tokenSymbol_7": {
"entryPoint": 222,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 279,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 336,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 351,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 385,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 412,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 423,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 440,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 453,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 504,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1824:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "99:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "109:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "156:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "123:32:1"
},
"nodeType": "YulFunctionCall",
"src": "123:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "113:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "171:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "242:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "178:58:1"
},
"nodeType": "YulFunctionCall",
"src": "178:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "171:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "284:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "280:3:1"
},
"nodeType": "YulFunctionCall",
"src": "280:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "298:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "303:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "258:21:1"
},
"nodeType": "YulFunctionCall",
"src": "258:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "258:52:1"
},
{
"nodeType": "YulAssignment",
"src": "319:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "357:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "335:21:1"
},
"nodeType": "YulFunctionCall",
"src": "335:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "326:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "319:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "80:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "87:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "95:3:1",
"type": ""
}
],
"src": "7:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "438:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "476:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "460:15:1"
},
"nodeType": "YulFunctionCall",
"src": "460:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "448:6:1"
},
"nodeType": "YulFunctionCall",
"src": "448:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "448:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "426:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "433:3:1",
"type": ""
}
],
"src": "377:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "613:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "623:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "635:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "646:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "631:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "623:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "670:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "681:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "666:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "689:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "695:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "685:3:1"
},
"nodeType": "YulFunctionCall",
"src": "685:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "659:6:1"
},
"nodeType": "YulFunctionCall",
"src": "659:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "659:47:1"
},
{
"nodeType": "YulAssignment",
"src": "715:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "787:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "796:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "723:63:1"
},
"nodeType": "YulFunctionCall",
"src": "723:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "715:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "585:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "597:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "608:4:1",
"type": ""
}
],
"src": "495:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "908:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "930:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "994:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1007:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1018:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1003:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1003:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "954:39:1"
},
"nodeType": "YulFunctionCall",
"src": "954:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "954:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "880:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "892:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "903:4:1",
"type": ""
}
],
"src": "814:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1093:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1104:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1120:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1114:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1104:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1076:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1086:6:1",
"type": ""
}
],
"src": "1034:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1257:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1245:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1245:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1273:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1292:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1297:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1288:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1273:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1207:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1212:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1223:11:1",
"type": ""
}
],
"src": "1139:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1357:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1367:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1382:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1378:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1367:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1339:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1349:7:1",
"type": ""
}
],
"src": "1314:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1455:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1465:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1474:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1469:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1534:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1559:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1564:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1555:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1578:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1583:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1574:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1574:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1568:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1568:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1548:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1548:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1548:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1495:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1498:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1492:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1492:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1506:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1508:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1517:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1520:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1513:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1508:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1488:3:1",
"statements": []
},
"src": "1484:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1631:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1681:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1686:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1677:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1695:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1670:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1612:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1615:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1609:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1609:13:1"
},
"nodeType": "YulIf",
"src": "1606:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1437:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1442:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1447:6:1",
"type": ""
}
],
"src": "1406:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1767:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1777:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1795:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1802:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1791:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1811:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1807:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1807:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1787:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1777:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1750:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1760:6:1",
"type": ""
}
],
"src": "1719:102:1"
}
]
},
"contents": "{\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063313ce567146100465780636c02a931146100645780637b61c32014610082575b600080fd5b61004e6100a0565b60405161005b9190610181565b60405180910390f35b61006c6100a5565b604051610079919061015f565b60405180910390f35b61008a6100de565b604051610097919061015f565b60405180910390f35b601281565b6040518060400160405280600681526020017f456e65727661000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600381526020017f454e56000000000000000000000000000000000000000000000000000000000081525081565b60006101228261019c565b61012c81856101a7565b935061013c8185602086016101c5565b610145816101f8565b840191505092915050565b610159816101b8565b82525050565b600060208201905081810360008301526101798184610117565b905092915050565b60006020820190506101966000830184610150565b92915050565b600081519050919050565b600082825260208201905092915050565b600060ff82169050919050565b60005b838110156101e35780820151818401526020810190506101c8565b838111156101f2576000848401525b50505050565b6000601f19601f830116905091905056fea2646970667358221220d16706ab8d99b1d578de6df36bdf51ad66fcdb4169f8268c1cf450ded1399a0864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6C02A931 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x7B61C320 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x181 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0xDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122 DUP3 PUSH2 0x19C JUMP JUMPDEST PUSH2 0x12C DUP2 DUP6 PUSH2 0x1A7 JUMP JUMPDEST SWAP4 POP PUSH2 0x13C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x1F8 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x1B8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x179 DUP2 DUP5 PUSH2 0x117 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x196 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x150 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1E3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1F2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH8 0x6AB8D99B1D578DE PUSH14 0xF36BDF51AD66FCDB4169F8268C1C DELEGATECALL POP 0xDE 0xD1 CODECOPY SWAP11 ADDMOD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:174:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;100:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;150:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;199:35;232:2;199:35;:::o;100:43::-;;;;;;;;;;;;;;;;;;;:::o;150:42::-;;;;;;;;;;;;;;;;;;;:::o;7:364:1:-;95:3;123:39;156:5;123:39;:::i;:::-;178:71;242:6;237:3;178:71;:::i;:::-;171:78;;258:52;303:6;298:3;291:4;284:5;280:16;258:52;:::i;:::-;335:29;357:6;335:29;:::i;:::-;330:3;326:39;319:46;;99:272;7:364;;;;:::o;377:112::-;460:22;476:5;460:22;:::i;:::-;455:3;448:35;377:112;;:::o;495:313::-;608:4;646:2;635:9;631:18;623:26;;695:9;689:4;685:20;681:1;670:9;666:17;659:47;723:78;796:4;787:6;723:78;:::i;:::-;715:86;;495:313;;;;:::o;814:214::-;903:4;941:2;930:9;926:18;918:26;;954:67;1018:1;1007:9;1003:17;994:6;954:67;:::i;:::-;814:214;;;;:::o;1034:99::-;1086:6;1120:5;1114:12;1104:22;;1034:99;;;:::o;1139:169::-;1223:11;1257:6;1252:3;1245:19;1297:4;1292:3;1288:14;1273:29;;1139:169;;;;:::o;1314:86::-;1349:7;1389:4;1382:5;1378:16;1367:27;;1314:86;;;:::o;1406:307::-;1474:1;1484:113;1498:6;1495:1;1492:13;1484:113;;;1583:1;1578:3;1574:11;1568:18;1564:1;1559:3;1555:11;1548:39;1520:2;1517:1;1513:10;1508:15;;1484:113;;;1615:6;1612:1;1609:13;1606:101;;;1695:1;1686:6;1681:3;1677:16;1670:27;1606:101;1455:258;1406:307;;;:::o;1719:102::-;1760:6;1811:2;1807:7;1802:2;1795:5;1791:14;1787:28;1777:38;;1719:102;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "115000",
"executionCost": "159",
"totalCost": "115159"
},
"external": {
"decimals()": "313",
"tokenName()": "infinite",
"tokenSymbol()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 248,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "ISZERO",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "REVERT",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 248,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "POP",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "CODECOPY",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220d16706ab8d99b1d578de6df36bdf51ad66fcdb4169f8268c1cf450ded1399a0864736f6c63430008070033",
".code": [
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 248,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "ISZERO",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "REVERT",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 248,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "POP",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 74,
"end": 248,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "LT",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 74,
"end": 248,
"name": "SHR",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "313CE567"
},
{
"begin": 74,
"end": 248,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "6C02A931"
},
{
"begin": 74,
"end": 248,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "7B61C320"
},
{
"begin": 74,
"end": 248,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 74,
"end": 248,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 74,
"end": 248,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 248,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 248,
"name": "REVERT",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 199,
"end": 234,
"name": "MLOAD",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 199,
"end": 234,
"name": "SWAP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 199,
"end": 234,
"name": "MLOAD",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "DUP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SUB",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "RETURN",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 100,
"end": 143,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SUB",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "RETURN",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 150,
"end": 192,
"name": "SWAP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SUB",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "RETURN",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 232,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "12"
},
{
"begin": 199,
"end": 234,
"name": "DUP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "ADD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "6"
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 100,
"end": 143,
"name": "ADD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "456E657276610000000000000000000000000000000000000000000000000000"
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "POP",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "ADD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 150,
"end": 192,
"name": "ADD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "454E560000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "POP",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 371,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 7,
"end": 371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 95,
"end": 98,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 123,
"end": 162,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 156,
"end": 161,
"name": "DUP3",
"source": 1
},
{
"begin": 123,
"end": 162,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 123,
"end": 162,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 123,
"end": 162,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 123,
"end": 162,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 178,
"end": 249,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 242,
"end": 248,
"name": "DUP2",
"source": 1
},
{
"begin": 237,
"end": 240,
"name": "DUP6",
"source": 1
},
{
"begin": 178,
"end": 249,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 178,
"end": 249,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 178,
"end": 249,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 178,
"end": 249,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 171,
"end": 249,
"name": "SWAP4",
"source": 1
},
{
"begin": 171,
"end": 249,
"name": "POP",
"source": 1
},
{
"begin": 258,
"end": 310,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 303,
"end": 309,
"name": "DUP2",
"source": 1
},
{
"begin": 298,
"end": 301,
"name": "DUP6",
"source": 1
},
{
"begin": 291,
"end": 295,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 284,
"end": 289,
"name": "DUP7",
"source": 1
},
{
"begin": 280,
"end": 296,
"name": "ADD",
"source": 1
},
{
"begin": 258,
"end": 310,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 258,
"end": 310,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 258,
"end": 310,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 258,
"end": 310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 335,
"end": 364,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 357,
"end": 363,
"name": "DUP2",
"source": 1
},
{
"begin": 335,
"end": 364,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 335,
"end": 364,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 335,
"end": 364,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 335,
"end": 364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 330,
"end": 333,
"name": "DUP5",
"source": 1
},
{
"begin": 326,
"end": 365,
"name": "ADD",
"source": 1
},
{
"begin": 319,
"end": 365,
"name": "SWAP2",
"source": 1
},
{
"begin": 319,
"end": 365,
"name": "POP",
"source": 1
},
{
"begin": 99,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 377,
"end": 489,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 377,
"end": 489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 460,
"end": 482,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 476,
"end": 481,
"name": "DUP2",
"source": 1
},
{
"begin": 460,
"end": 482,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 460,
"end": 482,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 460,
"end": 482,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 460,
"end": 482,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 455,
"end": 458,
"name": "DUP3",
"source": 1
},
{
"begin": 448,
"end": 483,
"name": "MSTORE",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "POP",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "POP",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 495,
"end": 808,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 495,
"end": 808,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 608,
"end": 612,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 646,
"end": 648,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 635,
"end": 644,
"name": "DUP3",
"source": 1
},
{
"begin": 631,
"end": 649,
"name": "ADD",
"source": 1
},
{
"begin": 623,
"end": 649,
"name": "SWAP1",
"source": 1
},
{
"begin": 623,
"end": 649,
"name": "POP",
"source": 1
},
{
"begin": 695,
"end": 704,
"name": "DUP2",
"source": 1
},
{
"begin": 689,
"end": 693,
"name": "DUP2",
"source": 1
},
{
"begin": 685,
"end": 705,
"name": "SUB",
"source": 1
},
{
"begin": 681,
"end": 682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 670,
"end": 679,
"name": "DUP4",
"source": 1
},
{
"begin": 666,
"end": 683,
"name": "ADD",
"source": 1
},
{
"begin": 659,
"end": 706,
"name": "MSTORE",
"source": 1
},
{
"begin": 723,
"end": 801,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 796,
"end": 800,
"name": "DUP2",
"source": 1
},
{
"begin": 787,
"end": 793,
"name": "DUP5",
"source": 1
},
{
"begin": 723,
"end": 801,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 723,
"end": 801,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 723,
"end": 801,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 723,
"end": 801,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 715,
"end": 801,
"name": "SWAP1",
"source": 1
},
{
"begin": 715,
"end": 801,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "SWAP3",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "SWAP2",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 814,
"end": 1028,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 814,
"end": 1028,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 903,
"end": 907,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 941,
"end": 943,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 930,
"end": 939,
"name": "DUP3",
"source": 1
},
{
"begin": 926,
"end": 944,
"name": "ADD",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "SWAP1",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "POP",
"source": 1
},
{
"begin": 954,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 1018,
"end": 1019,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1007,
"end": 1016,
"name": "DUP4",
"source": 1
},
{
"begin": 1003,
"end": 1020,
"name": "ADD",
"source": 1
},
{
"begin": 994,
"end": 1000,
"name": "DUP5",
"source": 1
},
{
"begin": 954,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 954,
"end": 1021,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 954,
"end": 1021,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 954,
"end": 1021,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "SWAP3",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "SWAP2",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "POP",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "POP",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1034,
"end": 1133,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 1034,
"end": 1133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1086,
"end": 1092,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1120,
"end": 1125,
"name": "DUP2",
"source": 1
},
{
"begin": 1114,
"end": 1126,
"name": "MLOAD",
"source": 1
},
{
"begin": 1104,
"end": 1126,
"name": "SWAP1",
"source": 1
},
{
"begin": 1104,
"end": 1126,
"name": "POP",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "SWAP2",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "SWAP1",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "POP",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1139,
"end": 1308,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 1139,
"end": 1308,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1223,
"end": 1234,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1257,
"end": 1263,
"name": "DUP3",
"source": 1
},
{
"begin": 1252,
"end": 1255,
"name": "DUP3",
"source": 1
},
{
"begin": 1245,
"end": 1264,
"name": "MSTORE",
"source": 1
},
{
"begin": 1297,
"end": 1301,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1292,
"end": 1295,
"name": "DUP3",
"source": 1
},
{
"begin": 1288,
"end": 1302,
"name": "ADD",
"source": 1
},
{
"begin": 1273,
"end": 1302,
"name": "SWAP1",
"source": 1
},
{
"begin": 1273,
"end": 1302,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "SWAP3",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "SWAP2",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1314,
"end": 1400,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 1314,
"end": 1400,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1349,
"end": 1356,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1389,
"end": 1393,
"name": "PUSH",
"source": 1,
"value": "FF"
},
{
"begin": 1382,
"end": 1387,
"name": "DUP3",
"source": 1
},
{
"begin": 1378,
"end": 1394,
"name": "AND",
"source": 1
},
{
"begin": 1367,
"end": 1394,
"name": "SWAP1",
"source": 1
},
{
"begin": 1367,
"end": 1394,
"name": "POP",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "SWAP2",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "SWAP1",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "POP",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1406,
"end": 1713,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 1406,
"end": 1713,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1474,
"end": 1475,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1484,
"end": 1597,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1498,
"end": 1504,
"name": "DUP4",
"source": 1
},
{
"begin": 1495,
"end": 1496,
"name": "DUP2",
"source": 1
},
{
"begin": 1492,
"end": 1505,
"name": "LT",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "ISZERO",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPI",
"source": 1
},
{
"begin": 1583,
"end": 1584,
"name": "DUP1",
"source": 1
},
{
"begin": 1578,
"end": 1581,
"name": "DUP3",
"source": 1
},
{
"begin": 1574,
"end": 1585,
"name": "ADD",
"source": 1
},
{
"begin": 1568,
"end": 1586,
"name": "MLOAD",
"source": 1
},
{
"begin": 1564,
"end": 1565,
"name": "DUP2",
"source": 1
},
{
"begin": 1559,
"end": 1562,
"name": "DUP5",
"source": 1
},
{
"begin": 1555,
"end": 1566,
"name": "ADD",
"source": 1
},
{
"begin": 1548,
"end": 1587,
"name": "MSTORE",
"source": 1
},
{
"begin": 1520,
"end": 1522,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1517,
"end": 1518,
"name": "DUP2",
"source": 1
},
{
"begin": 1513,
"end": 1523,
"name": "ADD",
"source": 1
},
{
"begin": 1508,
"end": 1523,
"name": "SWAP1",
"source": 1
},
{
"begin": 1508,
"end": 1523,
"name": "POP",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMP",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1615,
"end": 1621,
"name": "DUP4",
"source": 1
},
{
"begin": 1612,
"end": 1613,
"name": "DUP2",
"source": 1
},
{
"begin": 1609,
"end": 1622,
"name": "GT",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "ISZERO",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1606,
"end": 1707,
"name": "JUMPI",
"source": 1
},
{
"begin": 1695,
"end": 1696,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1686,
"end": 1692,
"name": "DUP5",
"source": 1
},
{
"begin": 1681,
"end": 1684,
"name": "DUP5",
"source": 1
},
{
"begin": 1677,
"end": 1693,
"name": "ADD",
"source": 1
},
{
"begin": 1670,
"end": 1697,
"name": "MSTORE",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1606,
"end": 1707,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1455,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1719,
"end": 1821,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1719,
"end": 1821,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1760,
"end": 1766,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1811,
"end": 1813,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1807,
"end": 1814,
"name": "NOT",
"source": 1
},
{
"begin": 1802,
"end": 1804,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1795,
"end": 1800,
"name": "DUP4",
"source": 1
},
{
"begin": 1791,
"end": 1805,
"name": "ADD",
"source": 1
},
{
"begin": 1787,
"end": 1815,
"name": "AND",
"source": 1
},
{
"begin": 1777,
"end": 1815,
"name": "SWAP1",
"source": 1
},
{
"begin": 1777,
"end": 1815,
"name": "POP",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "SWAP2",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "SWAP1",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "POP",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"decimals()": "313ce567",
"tokenName()": "6c02a931",
"tokenSymbol()": "7b61c320"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/MyToken.sol\":\"MyToken\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/MyToken.sol\":{\"keccak256\":\"0xf9fa6db13de754a5e7b5d71595c96fb0ad1527dec1484d3f98f99f1cc3ab01e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://286b8f09254df6abf4617b84025efea2d7c67237523d349510dae9dc0a5a772c\",\"dweb:/ipfs/QmY2ETTt7q4qsdjBRzgFHdBeD2euJmYZD5YEaKo3MkbRWs\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/MyToken.sol": {
"ast": {
"absolutePath": "contracts/MyToken.sol",
"exportedSymbols": {
"MyToken": [
11
]
},
"id": 12,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "39:31:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 11,
"linearizedBaseContracts": [
11
],
"name": "MyToken",
"nameLocation": "83:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "6c02a931",
"id": 4,
"mutability": "constant",
"name": "tokenName",
"nameLocation": "123:9:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "100:43:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "100:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "456e65727661",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "135:8:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6cc5164e273a9620506a48a58c2837960a4396f9d8e8d47ff0dcbe740c86defa",
"typeString": "literal_string \"Enerva\""
},
"value": "Enerva"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "7b61c320",
"id": 7,
"mutability": "constant",
"name": "tokenSymbol",
"nameLocation": "173:11:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "150:42:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "150:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "454e56",
"id": 6,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "187:5:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_945848973c49a2df65bbc4d45faf2cd7c4aef8a23b6e31edb2b76ce1538b6855",
"typeString": "literal_string \"ENV\""
},
"value": "ENV"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "313ce567",
"id": 10,
"mutability": "constant",
"name": "decimals",
"nameLocation": "221:8:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "199:35:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 8,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "199:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"hexValue": "3138",
"id": 9,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "232:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
"value": "18"
},
"visibility": "public"
}
],
"scope": 12,
"src": "74:174:0",
"usedErrors": []
}
],
"src": "39:209:0"
},
"id": 0
}
}
}
}
{
"id": "044eb8bb6d63f2b0ac7146a6b8a5a872",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/Identity.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\n\r\ncontract Identiy {\r\n\r\n \r\n\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/Identity.sol": {
"Identiy": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/Identity.sol\":74:105 contract Identiy {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Identity.sol\":74:105 contract Identiy {\r... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 SWAP15 RETURNDATACOPY 0xDA SLT JUMP 0xD2 EXTCODESIZE DUP8 0xB3 0xDD 0x4F MLOAD REVERT ISZERO SWAP10 0xDD 0xA5 SWAP16 0xE 0xD4 ISZERO CODECOPY 0xF9 LOG0 0xB3 DELEGATECALL DUP7 0xD8 DUP3 0x2C SSTORE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:31:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 SWAP15 RETURNDATACOPY 0xDA SLT JUMP 0xD2 EXTCODESIZE DUP8 0xB3 0xDD 0x4F MLOAD REVERT ISZERO SWAP10 0xDD 0xA5 SWAP16 0xE 0xD4 ISZERO CODECOPY 0xF9 LOG0 0xB3 DELEGATECALL DUP7 0xD8 DUP3 0x2C SSTORE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:31:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"legacyAssembly": {
".code": [
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "ISZERO",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 105,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "REVERT",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 105,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "POP",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 105,
"name": "CODECOPY",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 105,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033",
".code": [
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 105,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 105,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 105,
"name": "REVERT",
"source": 0
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Identity.sol\":\"Identiy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Identity.sol\":{\"keccak256\":\"0xac24f1fe6ae1e332a1182f7c36c5c37091f0ce34d0a5252f480025a34b82c080\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29cb7111a6ed65db350b76c4b46fa14b407b957a5e80b0b33d577f4d1816a543\",\"dweb:/ipfs/QmPCXXmAV6ZtKvyjupePFW7zJzqiYUFGCWwJ935PGpYZ32\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/Identity.sol": {
"ast": {
"absolutePath": "contracts/Identity.sol",
"exportedSymbols": {
"Identiy": [
2
]
},
"id": 3,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "39:31:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2,
"linearizedBaseContracts": [
2
],
"name": "Identiy",
"nameLocation": "83:7:0",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 3,
"src": "74:31:0",
"usedErrors": []
}
],
"src": "39:66:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_55": {
"entryPoint": null,
"id": 55,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 131,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 152,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 197,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 207,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 212,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1048:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:1"
},
"nodeType": "YulFunctionCall",
"src": "89:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "111:26:1"
},
"nodeType": "YulFunctionCall",
"src": "111:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:1",
"type": ""
}
],
"src": "7:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "233:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "279:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "281:77:1"
},
"nodeType": "YulFunctionCall",
"src": "281:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "281:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "254:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "263:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "250:3:1"
},
"nodeType": "YulFunctionCall",
"src": "250:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "275:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "246:3:1"
},
"nodeType": "YulFunctionCall",
"src": "246:32:1"
},
"nodeType": "YulIf",
"src": "243:119:1"
},
{
"nodeType": "YulBlock",
"src": "372:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "387:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "391:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "416:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "462:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "473:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "482:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "426:31:1"
},
"nodeType": "YulFunctionCall",
"src": "426:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "416:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "203:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "214:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "226:6:1",
"type": ""
}
],
"src": "156:351:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "553:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "563:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "579:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "573:5:1"
},
"nodeType": "YulFunctionCall",
"src": "573:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "563:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "546:6:1",
"type": ""
}
],
"src": "513:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "639:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "649:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "660:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "649:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "621:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "631:7:1",
"type": ""
}
],
"src": "594:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "766:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "783:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "786:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "776:6:1"
},
"nodeType": "YulFunctionCall",
"src": "776:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "776:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "677:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "889:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "906:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "909:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "899:6:1"
},
"nodeType": "YulFunctionCall",
"src": "899:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "899:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "800:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "966:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1023:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1032:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1035:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1025:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1025:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "989:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1014:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "996:17:1"
},
"nodeType": "YulFunctionCall",
"src": "996:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "986:2:1"
},
"nodeType": "YulFunctionCall",
"src": "986:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "979:6:1"
},
"nodeType": "YulFunctionCall",
"src": "979:43:1"
},
"nodeType": "YulIf",
"src": "976:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "959:5:1",
"type": ""
}
],
"src": "923:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50604051610ffa380380610ffa83398181016040528101906100329190610098565b8060008190555080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550506100eb565b600081519050610092816100d4565b92915050565b6000602082840312156100ae576100ad6100cf565b5b60006100bc84828501610083565b91505092915050565b6000819050919050565b600080fd5b6100dd816100c5565b81146100e857600080fd5b50565b610f00806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610c19565b60405180910390f35b6100d060048036038101906100cb9190610b12565b610239565b6040516100dd9190610bfe565b60405180910390f35b6100ee61032b565b6040516100fb9190610c7b565b60405180910390f35b61011e60048036038101906101199190610abf565b610334565b60405161012b9190610bfe565b60405180910390f35b61013c61070b565b6040516101499190610c96565b60405180910390f35b61016c60048036038101906101679190610a52565b610710565b6040516101799190610c7b565b60405180910390f35b61018a610759565b6040516101979190610c19565b60405180910390f35b6101ba60048036038101906101b59190610b12565b610792565b6040516101c79190610bfe565b60405180910390f35b6101ea60048036038101906101e59190610a7f565b6109a1565b6040516101f79190610c7b565b60405180910390f35b6040518060400160405280600a81526020017f506c61747a69436f696e0000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103199190610c7b565b60405180910390a36001905092915050565b60008054905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90610c5b565b60405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046e90610c3b565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104c29190610d23565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461058d9190610d23565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106589190610ccd565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f89190610c7b565b60405180910390a3600190509392505050565b601281565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600381526020017f505a43000000000000000000000000000000000000000000000000000000000081525081565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080d90610c5b565b60405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108619190610d23565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108ef9190610ccd565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098f9190610c7b565b60405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610a3781610e9c565b92915050565b600081359050610a4c81610eb3565b92915050565b600060208284031215610a6857610a67610e0e565b5b6000610a7684828501610a28565b91505092915050565b60008060408385031215610a9657610a95610e0e565b5b6000610aa485828601610a28565b9250506020610ab585828601610a28565b9150509250929050565b600080600060608486031215610ad857610ad7610e0e565b5b6000610ae686828701610a28565b9350506020610af786828701610a28565b9250506040610b0886828701610a3d565b9150509250925092565b60008060408385031215610b2957610b28610e0e565b5b6000610b3785828601610a28565b9250506020610b4885828601610a3d565b9150509250929050565b610b5b81610d69565b82525050565b6000610b6c82610cb1565b610b768185610cbc565b9350610b86818560208601610dac565b610b8f81610e13565b840191505092915050565b6000610ba7601283610cbc565b9150610bb282610e24565b602082019050919050565b6000610bca602d83610cbc565b9150610bd582610e4d565b604082019050919050565b610be981610d95565b82525050565b610bf881610d9f565b82525050565b6000602082019050610c136000830184610b52565b92915050565b60006020820190508181036000830152610c338184610b61565b905092915050565b60006020820190508181036000830152610c5481610b9a565b9050919050565b60006020820190508181036000830152610c7481610bbd565b9050919050565b6000602082019050610c906000830184610be0565b92915050565b6000602082019050610cab6000830184610bef565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610cd882610d95565b9150610ce383610d95565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d1857610d17610ddf565b5b828201905092915050565b6000610d2e82610d95565b9150610d3983610d95565b925082821015610d4c57610d4b610ddf565b5b828203905092915050565b6000610d6282610d75565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610dca578082015181840152602081019050610daf565b83811115610dd9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f53656e646572206e6f7420616c6c6f7765640000000000000000000000000000600082015250565b7f546865726520617265206e6f7420656e6f7567682066756e647320746f20646f60008201527f20746865207472616e7366657200000000000000000000000000000000000000602082015250565b610ea581610d57565b8114610eb057600080fd5b50565b610ebc81610d95565b8114610ec757600080fd5b5056fea2646970667358221220c43c4d9dce9f1e95c30098d102990814ebe449c86f0ba5a9a7589a7639f521c164736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xFFA CODESIZE SUB DUP1 PUSH2 0xFFA DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x98 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 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 DUP2 SWAP1 SSTORE POP POP PUSH2 0xEB JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x92 DUP2 PUSH2 0xD4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAE JUMPI PUSH2 0xAD PUSH2 0xCF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBC DUP5 DUP3 DUP6 ADD PUSH2 0x83 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD DUP2 PUSH2 0xC5 JUMP JUMPDEST DUP2 EQ PUSH2 0xE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xF00 DUP1 PUSH2 0xFA 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 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D0 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE6 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x104 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0x200 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0xC19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB SWAP2 SWAP1 PUSH2 0xB12 JUMP JUMPDEST PUSH2 0x239 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH2 0x70B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xA52 JUMP JUMPDEST PUSH2 0x710 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x759 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xC19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B5 SWAP2 SWAP1 PUSH2 0xB12 JUMP JUMPDEST PUSH2 0x792 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E5 SWAP2 SWAP1 PUSH2 0xA7F JUMP JUMPDEST PUSH2 0x9A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F7 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x506C61747A69436F696E00000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x319 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x3B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3AF SWAP1 PUSH2 0xC5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x477 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x46E SWAP1 PUSH2 0xC3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4C2 SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x58D SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x658 SWAP2 SWAP1 PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x6F8 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP 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 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x505A430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP 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 SLOAD DUP3 GT ISZERO PUSH2 0x816 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x80D SWAP1 PUSH2 0xC5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 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 SLOAD PUSH2 0x861 SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST 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 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8EF SWAP2 SWAP1 PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA37 DUP2 PUSH2 0xE9C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA4C DUP2 PUSH2 0xEB3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA68 JUMPI PUSH2 0xA67 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA76 DUP5 DUP3 DUP6 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAA4 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAB5 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xAD8 JUMPI PUSH2 0xAD7 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAE6 DUP7 DUP3 DUP8 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xAF7 DUP7 DUP3 DUP8 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xB08 DUP7 DUP3 DUP8 ADD PUSH2 0xA3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB29 JUMPI PUSH2 0xB28 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB37 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB48 DUP6 DUP3 DUP7 ADD PUSH2 0xA3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xB5B DUP2 PUSH2 0xD69 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6C DUP3 PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0xB76 DUP2 DUP6 PUSH2 0xCBC JUMP JUMPDEST SWAP4 POP PUSH2 0xB86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xDAC JUMP JUMPDEST PUSH2 0xB8F DUP2 PUSH2 0xE13 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA7 PUSH1 0x12 DUP4 PUSH2 0xCBC JUMP JUMPDEST SWAP2 POP PUSH2 0xBB2 DUP3 PUSH2 0xE24 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBCA PUSH1 0x2D DUP4 PUSH2 0xCBC JUMP JUMPDEST SWAP2 POP PUSH2 0xBD5 DUP3 PUSH2 0xE4D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBE9 DUP2 PUSH2 0xD95 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xBF8 DUP2 PUSH2 0xD9F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC13 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB52 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC33 DUP2 DUP5 PUSH2 0xB61 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC54 DUP2 PUSH2 0xB9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC74 DUP2 PUSH2 0xBBD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC90 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBE0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCAB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD8 DUP3 PUSH2 0xD95 JUMP JUMPDEST SWAP2 POP PUSH2 0xCE3 DUP4 PUSH2 0xD95 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD18 JUMPI PUSH2 0xD17 PUSH2 0xDDF JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD2E DUP3 PUSH2 0xD95 JUMP JUMPDEST SWAP2 POP PUSH2 0xD39 DUP4 PUSH2 0xD95 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4B PUSH2 0xDDF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD62 DUP3 PUSH2 0xD75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xDCA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xDAF JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xDD9 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x53656E646572206E6F7420616C6C6F7765640000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865726520617265206E6F7420656E6F7567682066756E647320746F20646F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20746865207472616E7366657200000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xEA5 DUP2 PUSH2 0xD57 JUMP JUMPDEST DUP2 EQ PUSH2 0xEB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xEBC DUP2 PUSH2 0xD95 JUMP JUMPDEST DUP2 EQ PUSH2 0xEC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 EXTCODECOPY 0x4D SWAP14 0xCE SWAP16 0x1E SWAP6 0xC3 STOP SWAP9 0xD1 MUL SWAP10 ADDMOD EQ 0xEB 0xE4 0x49 0xC8 PUSH16 0xBA5A9A7589A7639F521C164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "72:2310:0:-:0;;;618:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;671:5;656:12;:20;;;;710:5;687:8;:20;696:10;687:20;;;;;;;;;;;;;;;:28;;;;618:105;72:2310;;7:143:1;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;594:77::-;631:7;660:5;649:16;;594:77;;;:::o;800:117::-;909:1;906;899:12;923:122;996:24;1014:5;996:24;:::i;:::-;989:5;986:35;976:63;;1035:1;1032;1025:12;976:63;923:122;:::o;72:2310:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@allowance_176": {
"entryPoint": 2465,
"id": 176,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_158": {
"entryPoint": 569,
"id": 158,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_75": {
"entryPoint": 1808,
"id": 75,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_10": {
"entryPoint": 1803,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@name_4": {
"entryPoint": 512,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@symbol_7": {
"entryPoint": 1881,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_63": {
"entryPoint": 811,
"id": 63,
"parameterSlots": 0,
"returnSlots": 1
},
"@transferFrom_255": {
"entryPoint": 820,
"id": 255,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_128": {
"entryPoint": 1938,
"id": 128,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2600,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2621,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2642,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 2687,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 2751,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2834,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2898,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2913,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2970,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3005,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 3040,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 3055,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 3070,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3097,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3131,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3163,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 3195,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 3222,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3249,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3260,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3277,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3363,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 3415,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 3433,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3445,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3477,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 3487,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 3500,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 3551,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3598,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3603,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e": {
"entryPoint": 3620,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df": {
"entryPoint": 3661,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3740,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3763,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8413:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "204:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:1"
},
"nodeType": "YulFunctionCall",
"src": "223:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:1"
},
"nodeType": "YulFunctionCall",
"src": "252:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:1",
"type": ""
}
],
"src": "152:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "363:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "409:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "411:77:1"
},
"nodeType": "YulFunctionCall",
"src": "411:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "411:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "384:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "393:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "380:3:1"
},
"nodeType": "YulFunctionCall",
"src": "380:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "405:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "376:3:1"
},
"nodeType": "YulFunctionCall",
"src": "376:32:1"
},
"nodeType": "YulIf",
"src": "373:119:1"
},
{
"nodeType": "YulBlock",
"src": "502:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "517:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "521:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "333:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "344:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "356:6:1",
"type": ""
}
],
"src": "297:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "715:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "761:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "763:77:1"
},
"nodeType": "YulFunctionCall",
"src": "763:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "763:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "736:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "745:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "732:3:1"
},
"nodeType": "YulFunctionCall",
"src": "732:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "757:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "728:32:1"
},
"nodeType": "YulIf",
"src": "725:119:1"
},
{
"nodeType": "YulBlock",
"src": "854:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "869:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "883:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "873:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "898:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "933:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "944:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "929:3:1"
},
"nodeType": "YulFunctionCall",
"src": "929:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "953:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "908:20:1"
},
"nodeType": "YulFunctionCall",
"src": "908:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "898:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "981:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "996:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1010:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1000:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1026:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1061:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1072:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1057:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1057:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1081:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1036:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "677:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "688:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "700:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "708:6:1",
"type": ""
}
],
"src": "632:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1212:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1258:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1260:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1260:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1260:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1233:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1242:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1229:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1229:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1254:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1225:32:1"
},
"nodeType": "YulIf",
"src": "1222:119:1"
},
{
"nodeType": "YulBlock",
"src": "1351:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1366:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1380:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1370:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1395:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1430:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1441:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1426:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1450:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1405:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1405:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1395:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1478:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1493:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1507:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1497:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1523:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1558:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1569:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1554:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1578:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1533:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1533:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1523:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1606:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1621:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1635:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1625:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1651:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1686:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1697:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1682:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1682:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1706:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1661:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1651:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1166:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1177:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1189:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1197:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1205:6:1",
"type": ""
}
],
"src": "1112:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1820:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1866:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1868:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1868:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1868:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1841:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1850:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1837:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1862:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1833:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1833:32:1"
},
"nodeType": "YulIf",
"src": "1830:119:1"
},
{
"nodeType": "YulBlock",
"src": "1959:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1974:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1988:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2003:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2038:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2049:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2034:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2034:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2058:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2013:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2013:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2003:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2086:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2101:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2115:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2105:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2131:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2166:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2177:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2162:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2162:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2186:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2141:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2141:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2131:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1782:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1793:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1805:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1813:6:1",
"type": ""
}
],
"src": "1737:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2276:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2293:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2313:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2298:14:1"
},
"nodeType": "YulFunctionCall",
"src": "2298:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2286:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2286:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "2286:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2264:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2271:3:1",
"type": ""
}
],
"src": "2217:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2424:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2434:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2481:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2448:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2448:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2438:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2496:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2567:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2503:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2503:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2496:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2609:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2616:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2605:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2605:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2623:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2628:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2583:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2583:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2583:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2644:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2655:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2682:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2660:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2660:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2651:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2651:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2644:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2405:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2412:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2420:3:1",
"type": ""
}
],
"src": "2332:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2848:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2858:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2924:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2929:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2865:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2865:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2858:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3030:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e",
"nodeType": "YulIdentifier",
"src": "2941:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2941:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2941:93:1"
},
{
"nodeType": "YulAssignment",
"src": "3043:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3054:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3059:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3050:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3050:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3043:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2836:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2844:3:1",
"type": ""
}
],
"src": "2702:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3220:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3230:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3296:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3301:2:1",
"type": "",
"value": "45"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3237:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3237:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3230:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3402:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df",
"nodeType": "YulIdentifier",
"src": "3313:88:1"
},
"nodeType": "YulFunctionCall",
"src": "3313:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "3313:93:1"
},
{
"nodeType": "YulAssignment",
"src": "3415:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3426:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3422:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3422:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3415:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3208:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3216:3:1",
"type": ""
}
],
"src": "3074:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3511:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3528:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3551:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3533:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3533:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3521:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3521:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3499:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3506:3:1",
"type": ""
}
],
"src": "3446:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3631:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3648:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3669:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "3653:15:1"
},
"nodeType": "YulFunctionCall",
"src": "3653:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3641:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3641:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "3641:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3619:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3626:3:1",
"type": ""
}
],
"src": "3570:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3780:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3790:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3802:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3813:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3798:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3798:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3790:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3864:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3877:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3888:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3873:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3873:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "3826:37:1"
},
"nodeType": "YulFunctionCall",
"src": "3826:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3826:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3752:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3764:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3775:4:1",
"type": ""
}
],
"src": "3688:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4022:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4032:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4044:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4055:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4040:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4040:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4032:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4079:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4090:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4075:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4075:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4098:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4104:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4094:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4094:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4068:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4068:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4068:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4124:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4196:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4205:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4132:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4132:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4124:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3994:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4006:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4017:4:1",
"type": ""
}
],
"src": "3904:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4394:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4404:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4416:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4427:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4412:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4412:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4404:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4451:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4462:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4447:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4447:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4470:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4476:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4466:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4466:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4440:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4440:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4440:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4496:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4630:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4504:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4504:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4496:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4374:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4389:4:1",
"type": ""
}
],
"src": "4223:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4819:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4829:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4841:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4852:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4837:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4829:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4876:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4887:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4872:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4895:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4901:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4865:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4865:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4865:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4921:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5055:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4929:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4929:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4921:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4799:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4814:4:1",
"type": ""
}
],
"src": "4648:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5171:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5181:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5193:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5204:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5189:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5189:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5181:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5261:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5274:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5285:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5270:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5270:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5217:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5217:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5217:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5143:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5155:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5166:4:1",
"type": ""
}
],
"src": "5073:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5395:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5405:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5417:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5428:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5413:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5405:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5481:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5494:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5505:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5490:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5490:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "5441:39:1"
},
"nodeType": "YulFunctionCall",
"src": "5441:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "5441:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5367:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5379:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5390:4:1",
"type": ""
}
],
"src": "5301:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5561:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5571:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5587:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5581:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5581:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5571:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5554:6:1",
"type": ""
}
],
"src": "5521:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5661:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5672:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5688:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5682:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5682:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5672:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5644:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5654:6:1",
"type": ""
}
],
"src": "5602:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5803:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5820:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5825:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5813:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5813:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5813:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5841:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5860:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5865:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5856:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5856:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5841:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5775:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5780:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5791:11:1",
"type": ""
}
],
"src": "5707:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5926:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5936:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5959:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5941:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5941:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5936:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5970:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5993:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5975:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5975:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5970:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6133:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6135:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6135:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6135:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6054:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6061:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6129:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6057:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6057:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6051:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6051:81:1"
},
"nodeType": "YulIf",
"src": "6048:107:1"
},
{
"nodeType": "YulAssignment",
"src": "6165:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6176:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6179:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6172:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6172:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6165:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5913:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5916:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "5922:3:1",
"type": ""
}
],
"src": "5882:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6238:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6248:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6271:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6253:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6253:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6248:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6282:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6305:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6287:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6287:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6282:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6329:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6331:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6331:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6331:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6323:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6326:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6320:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6320:8:1"
},
"nodeType": "YulIf",
"src": "6317:34:1"
},
{
"nodeType": "YulAssignment",
"src": "6361:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6373:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6376:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6369:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6369:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "6361:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6224:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6227:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "6233:4:1",
"type": ""
}
],
"src": "6193:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6435:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6445:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6474:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "6456:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6456:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6445:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6417:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6427:7:1",
"type": ""
}
],
"src": "6390:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6534:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6544:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6569:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6562:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6562:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6555:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6555:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6544:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6516:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6526:7:1",
"type": ""
}
],
"src": "6492:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6633:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6643:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6658:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6665:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6654:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6654:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6643:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6615:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6625:7:1",
"type": ""
}
],
"src": "6588:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6765:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6775:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6786:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6775:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6747:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6757:7:1",
"type": ""
}
],
"src": "6720:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6846:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6856:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6871:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6878:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6867:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6856:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6828:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6838:7:1",
"type": ""
}
],
"src": "6803:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6944:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6954:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6963:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6958:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7023:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "7048:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7053:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7044:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "7067:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7072:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7063:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7063:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7057:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7057:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7037:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7037:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "7037:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6984:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6987:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6981:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6981:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "6995:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6997:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7006:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7009:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7002:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7002:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6997:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6977:3:1",
"statements": []
},
"src": "6973:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7120:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "7170:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7175:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7166:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7166:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7184:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7159:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7159:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "7159:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7101:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7104:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7098:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7098:13:1"
},
"nodeType": "YulIf",
"src": "7095:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6926:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6931:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6936:6:1",
"type": ""
}
],
"src": "6895:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7236:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7253:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7256:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7246:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7246:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7246:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7350:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7353:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7343:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7343:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7343:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7374:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7377:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7367:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7367:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7367:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "7208:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7483:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7500:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7503:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7493:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7493:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7493:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7394:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7606:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7623:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7626:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7616:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7616:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7616:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7517:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7688:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7698:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7716:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7723:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7712:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7712:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7732:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7728:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7708:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7708:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7698:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7671:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7681:6:1",
"type": ""
}
],
"src": "7640:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7854:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7876:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7884:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7872:14:1"
},
{
"hexValue": "53656e646572206e6f7420616c6c6f776564",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7888:20:1",
"type": "",
"value": "Sender not allowed"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7865:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7865:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "7865:44:1"
}
]
},
"name": "store_literal_in_memory_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7846:6:1",
"type": ""
}
],
"src": "7748:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8028:126:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8050:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8058:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8046:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8046:14:1"
},
{
"hexValue": "546865726520617265206e6f7420656e6f7567682066756e647320746f20646f",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8062:34:1",
"type": "",
"value": "There are not enough funds to do"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8039:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8039:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "8039:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8118:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8126:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8114:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8114:15:1"
},
{
"hexValue": "20746865207472616e73666572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8131:15:1",
"type": "",
"value": " the transfer"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8107:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8107:40:1"
},
"nodeType": "YulExpressionStatement",
"src": "8107:40:1"
}
]
},
"name": "store_literal_in_memory_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8020:6:1",
"type": ""
}
],
"src": "7922:232:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8203:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8260:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8269:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8272:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8262:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8262:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8262:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8226:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8251:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "8233:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8233:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8223:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8223:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8216:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8216:43:1"
},
"nodeType": "YulIf",
"src": "8213:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8196:5:1",
"type": ""
}
],
"src": "8160:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8331:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8388:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8397:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8400:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8390:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8390:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8390:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8354:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8379:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8361:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8361:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8351:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8351:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8344:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8344:43:1"
},
"nodeType": "YulIf",
"src": "8341:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8324:5:1",
"type": ""
}
],
"src": "8288:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e(memPtr) {\n\n mstore(add(memPtr, 0), \"Sender not allowed\")\n\n }\n\n function store_literal_in_memory_f64ce94a0e4787d606fd9f9d8e0decc51f68c0f1765f2e015935527a506a56df(memPtr) {\n\n mstore(add(memPtr, 0), \"There are not enough funds to do\")\n\n mstore(add(memPtr, 32), \" the transfer\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610c19565b60405180910390f35b6100d060048036038101906100cb9190610b12565b610239565b6040516100dd9190610bfe565b60405180910390f35b6100ee61032b565b6040516100fb9190610c7b565b60405180910390f35b61011e60048036038101906101199190610abf565b610334565b60405161012b9190610bfe565b60405180910390f35b61013c61070b565b6040516101499190610c96565b60405180910390f35b61016c60048036038101906101679190610a52565b610710565b6040516101799190610c7b565b60405180910390f35b61018a610759565b6040516101979190610c19565b60405180910390f35b6101ba60048036038101906101b59190610b12565b610792565b6040516101c79190610bfe565b60405180910390f35b6101ea60048036038101906101e59190610a7f565b6109a1565b6040516101f79190610c7b565b60405180910390f35b6040518060400160405280600a81526020017f506c61747a69436f696e0000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103199190610c7b565b60405180910390a36001905092915050565b60008054905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90610c5b565b60405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046e90610c3b565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104c29190610d23565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461058d9190610d23565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106589190610ccd565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f89190610c7b565b60405180910390a3600190509392505050565b601281565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600381526020017f505a43000000000000000000000000000000000000000000000000000000000081525081565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080d90610c5b565b60405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108619190610d23565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108ef9190610ccd565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098f9190610c7b565b60405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610a3781610e9c565b92915050565b600081359050610a4c81610eb3565b92915050565b600060208284031215610a6857610a67610e0e565b5b6000610a7684828501610a28565b91505092915050565b60008060408385031215610a9657610a95610e0e565b5b6000610aa485828601610a28565b9250506020610ab585828601610a28565b9150509250929050565b600080600060608486031215610ad857610ad7610e0e565b5b6000610ae686828701610a28565b9350506020610af786828701610a28565b9250506040610b0886828701610a3d565b9150509250925092565b60008060408385031215610b2957610b28610e0e565b5b6000610b3785828601610a28565b9250506020610b4885828601610a3d565b9150509250929050565b610b5b81610d69565b82525050565b6000610b6c82610cb1565b610b768185610cbc565b9350610b86818560208601610dac565b610b8f81610e13565b840191505092915050565b6000610ba7601283610cbc565b9150610bb282610e24565b602082019050919050565b6000610bca602d83610cbc565b9150610bd582610e4d565b604082019050919050565b610be981610d95565b82525050565b610bf881610d9f565b82525050565b6000602082019050610c136000830184610b52565b92915050565b60006020820190508181036000830152610c338184610b61565b905092915050565b60006020820190508181036000830152610c5481610b9a565b9050919050565b60006020820190508181036000830152610c7481610bbd565b9050919050565b6000602082019050610c906000830184610be0565b92915050565b6000602082019050610cab6000830184610bef565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610cd882610d95565b9150610ce383610d95565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d1857610d17610ddf565b5b828201905092915050565b6000610d2e82610d95565b9150610d3983610d95565b925082821015610d4c57610d4b610ddf565b5b828203905092915050565b6000610d6282610d75565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610dca578082015181840152602081019050610daf565b83811115610dd9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f53656e646572206e6f7420616c6c6f7765640000000000000000000000000000600082015250565b7f546865726520617265206e6f7420656e6f7567682066756e647320746f20646f60008201527f20746865207472616e7366657200000000000000000000000000000000000000602082015250565b610ea581610d57565b8114610eb057600080fd5b50565b610ebc81610d95565b8114610ec757600080fd5b5056fea2646970667358221220c43c4d9dce9f1e95c30098d102990814ebe449c86f0ba5a9a7589a7639f521c164736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D0 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE6 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x104 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0x200 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0xC19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB SWAP2 SWAP1 PUSH2 0xB12 JUMP JUMPDEST PUSH2 0x239 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH2 0x70B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xA52 JUMP JUMPDEST PUSH2 0x710 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x759 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xC19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B5 SWAP2 SWAP1 PUSH2 0xB12 JUMP JUMPDEST PUSH2 0x792 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E5 SWAP2 SWAP1 PUSH2 0xA7F JUMP JUMPDEST PUSH2 0x9A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F7 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x506C61747A69436F696E00000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x319 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x3B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3AF SWAP1 PUSH2 0xC5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x477 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x46E SWAP1 PUSH2 0xC3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4C2 SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x58D SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x658 SWAP2 SWAP1 PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x6F8 SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP 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 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x505A430000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP 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 SLOAD DUP3 GT ISZERO PUSH2 0x816 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x80D SWAP1 PUSH2 0xC5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 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 SLOAD PUSH2 0x861 SWAP2 SWAP1 PUSH2 0xD23 JUMP JUMPDEST 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 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8EF SWAP2 SWAP1 PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x98F SWAP2 SWAP1 PUSH2 0xC7B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA37 DUP2 PUSH2 0xE9C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA4C DUP2 PUSH2 0xEB3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA68 JUMPI PUSH2 0xA67 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA76 DUP5 DUP3 DUP6 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA96 JUMPI PUSH2 0xA95 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAA4 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAB5 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xAD8 JUMPI PUSH2 0xAD7 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAE6 DUP7 DUP3 DUP8 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xAF7 DUP7 DUP3 DUP8 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xB08 DUP7 DUP3 DUP8 ADD PUSH2 0xA3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB29 JUMPI PUSH2 0xB28 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB37 DUP6 DUP3 DUP7 ADD PUSH2 0xA28 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB48 DUP6 DUP3 DUP7 ADD PUSH2 0xA3D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xB5B DUP2 PUSH2 0xD69 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6C DUP3 PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0xB76 DUP2 DUP6 PUSH2 0xCBC JUMP JUMPDEST SWAP4 POP PUSH2 0xB86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xDAC JUMP JUMPDEST PUSH2 0xB8F DUP2 PUSH2 0xE13 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA7 PUSH1 0x12 DUP4 PUSH2 0xCBC JUMP JUMPDEST SWAP2 POP PUSH2 0xBB2 DUP3 PUSH2 0xE24 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBCA PUSH1 0x2D DUP4 PUSH2 0xCBC JUMP JUMPDEST SWAP2 POP PUSH2 0xBD5 DUP3 PUSH2 0xE4D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBE9 DUP2 PUSH2 0xD95 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xBF8 DUP2 PUSH2 0xD9F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC13 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB52 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC33 DUP2 DUP5 PUSH2 0xB61 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC54 DUP2 PUSH2 0xB9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC74 DUP2 PUSH2 0xBBD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC90 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBE0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCAB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBEF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD8 DUP3 PUSH2 0xD95 JUMP JUMPDEST SWAP2 POP PUSH2 0xCE3 DUP4 PUSH2 0xD95 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD18 JUMPI PUSH2 0xD17 PUSH2 0xDDF JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD2E DUP3 PUSH2 0xD95 JUMP JUMPDEST SWAP2 POP PUSH2 0xD39 DUP4 PUSH2 0xD95 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xD4C JUMPI PUSH2 0xD4B PUSH2 0xDDF JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD62 DUP3 PUSH2 0xD75 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xDCA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xDAF JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xDD9 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x53656E646572206E6F7420616C6C6F7765640000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865726520617265206E6F7420656E6F7567682066756E647320746F20646F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20746865207472616E7366657200000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xEA5 DUP2 PUSH2 0xD57 JUMP JUMPDEST DUP2 EQ PUSH2 0xEB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xEBC DUP2 PUSH2 0xD95 JUMP JUMPDEST DUP2 EQ PUSH2 0xEC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC4 EXTCODECOPY 0x4D SWAP14 0xCE SWAP16 0x1E SWAP6 0xC3 STOP SWAP9 0xD1 MUL SWAP10 ADDMOD EQ 0xEB 0xE4 0x49 0xC8 PUSH16 0xBA5A9A7589A7639F521C164736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "72:2310:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;103:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1360:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;731:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1742:637;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;196:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;830:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;945:407;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1585:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;103:42;;;;;;;;;;;;;;;;;;;:::o;1360:217::-;1427:12;1484:6;1452:7;:19;1460:10;1452:19;;;;;;;;;;;;;;;:29;1472:8;1452:29;;;;;;;;;;;;;;;:38;;;;1527:8;1506:38;;1515:10;1506:38;;;1537:6;1506:38;;;;;;:::i;:::-;;;;;;;;1565:4;1555:14;;1360:217;;;;:::o;731:91::-;775:7;802:12;;795:19;;731:91;:::o;1742:637::-;1858:12;1917:8;:15;1926:5;1917:15;;;;;;;;;;;;;;;;1907:6;:25;;1885:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;2050:7;:14;2058:5;2050:14;;;;;;;;;;;;;;;:26;2065:10;2050:26;;;;;;;;;;;;;;;;2040:6;:36;;2018:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;2172:6;2154:8;:15;2163:5;2154:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;2136:8;:15;2145:5;2136:15;;;;;;;;;;;;;;;:42;;;;2247:6;2218:7;:14;2226:5;2218:14;;;;;;;;;;;;;;;:26;2233:10;2218:26;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;2189:7;:14;2197:5;2189:14;;;;;;;;;;;;;;;:26;2204:10;2189:26;;;;;;;;;;;;;;;:64;;;;2296:6;2280:8;:13;2289:3;2280:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;2264:8;:13;2273:3;2264:13;;;;;;;;;;;;;;;:38;;;;2334:3;2318:28;;2327:5;2318:28;;;2339:6;2318:28;;;;;;:::i;:::-;;;;;;;;2367:4;2357:14;;1742:637;;;;;:::o;196:35::-;229:2;196:35;:::o;830:107::-;886:7;913:8;:16;922:6;913:16;;;;;;;;;;;;;;;;906:23;;830:107;;;:::o;152:37::-;;;;;;;;;;;;;;;;;;;:::o;945:407::-;1008:12;1065:8;:20;1074:10;1065:20;;;;;;;;;;;;;;;;1055:6;:30;;1033:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;1215:6;1192:8;:20;1201:10;1192:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;1169:8;:20;1178:10;1169:20;;;;;;;;;;;;;;;:52;;;;1264:6;1248:8;:13;1257:3;1248:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;1232:8;:13;1241:3;1232:13;;;;;;;;;;;;;;;:38;;;;1307:3;1286:33;;1295:10;1286:33;;;1312:6;1286:33;;;;;;:::i;:::-;;;;;;;;1340:4;1330:14;;945:407;;;;:::o;1585:149::-;1659:17;1701:7;:15;1709:6;1701:15;;;;;;;;;;;;;;;:25;1717:8;1701:25;;;;;;;;;;;;;;;;1689:37;;1585:149;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:109::-;2298:21;2313:5;2298:21;:::i;:::-;2293:3;2286:34;2217:109;;:::o;2332:364::-;2420:3;2448:39;2481:5;2448:39;:::i;:::-;2503:71;2567:6;2562:3;2503:71;:::i;:::-;2496:78;;2583:52;2628:6;2623:3;2616:4;2609:5;2605:16;2583:52;:::i;:::-;2660:29;2682:6;2660:29;:::i;:::-;2655:3;2651:39;2644:46;;2424:272;2332:364;;;;:::o;2702:366::-;2844:3;2865:67;2929:2;2924:3;2865:67;:::i;:::-;2858:74;;2941:93;3030:3;2941:93;:::i;:::-;3059:2;3054:3;3050:12;3043:19;;2702:366;;;:::o;3074:::-;3216:3;3237:67;3301:2;3296:3;3237:67;:::i;:::-;3230:74;;3313:93;3402:3;3313:93;:::i;:::-;3431:2;3426:3;3422:12;3415:19;;3074:366;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:112::-;3653:22;3669:5;3653:22;:::i;:::-;3648:3;3641:35;3570:112;;:::o;3688:210::-;3775:4;3813:2;3802:9;3798:18;3790:26;;3826:65;3888:1;3877:9;3873:17;3864:6;3826:65;:::i;:::-;3688:210;;;;:::o;3904:313::-;4017:4;4055:2;4044:9;4040:18;4032:26;;4104:9;4098:4;4094:20;4090:1;4079:9;4075:17;4068:47;4132:78;4205:4;4196:6;4132:78;:::i;:::-;4124:86;;3904:313;;;;:::o;4223:419::-;4389:4;4427:2;4416:9;4412:18;4404:26;;4476:9;4470:4;4466:20;4462:1;4451:9;4447:17;4440:47;4504:131;4630:4;4504:131;:::i;:::-;4496:139;;4223:419;;;:::o;4648:::-;4814:4;4852:2;4841:9;4837:18;4829:26;;4901:9;4895:4;4891:20;4887:1;4876:9;4872:17;4865:47;4929:131;5055:4;4929:131;:::i;:::-;4921:139;;4648:419;;;:::o;5073:222::-;5166:4;5204:2;5193:9;5189:18;5181:26;;5217:71;5285:1;5274:9;5270:17;5261:6;5217:71;:::i;:::-;5073:222;;;;:::o;5301:214::-;5390:4;5428:2;5417:9;5413:18;5405:26;;5441:67;5505:1;5494:9;5490:17;5481:6;5441:67;:::i;:::-;5301:214;;;;:::o;5602:99::-;5654:6;5688:5;5682:12;5672:22;;5602:99;;;:::o;5707:169::-;5791:11;5825:6;5820:3;5813:19;5865:4;5860:3;5856:14;5841:29;;5707:169;;;;:::o;5882:305::-;5922:3;5941:20;5959:1;5941:20;:::i;:::-;5936:25;;5975:20;5993:1;5975:20;:::i;:::-;5970:25;;6129:1;6061:66;6057:74;6054:1;6051:81;6048:107;;;6135:18;;:::i;:::-;6048:107;6179:1;6176;6172:9;6165:16;;5882:305;;;;:::o;6193:191::-;6233:4;6253:20;6271:1;6253:20;:::i;:::-;6248:25;;6287:20;6305:1;6287:20;:::i;:::-;6282:25;;6326:1;6323;6320:8;6317:34;;;6331:18;;:::i;:::-;6317:34;6376:1;6373;6369:9;6361:17;;6193:191;;;;:::o;6390:96::-;6427:7;6456:24;6474:5;6456:24;:::i;:::-;6445:35;;6390:96;;;:::o;6492:90::-;6526:7;6569:5;6562:13;6555:21;6544:32;;6492:90;;;:::o;6588:126::-;6625:7;6665:42;6658:5;6654:54;6643:65;;6588:126;;;:::o;6720:77::-;6757:7;6786:5;6775:16;;6720:77;;;:::o;6803:86::-;6838:7;6878:4;6871:5;6867:16;6856:27;;6803:86;;;:::o;6895:307::-;6963:1;6973:113;6987:6;6984:1;6981:13;6973:113;;;7072:1;7067:3;7063:11;7057:18;7053:1;7048:3;7044:11;7037:39;7009:2;7006:1;7002:10;6997:15;;6973:113;;;7104:6;7101:1;7098:13;7095:101;;;7184:1;7175:6;7170:3;7166:16;7159:27;7095:101;6944:258;6895:307;;;:::o;7208:180::-;7256:77;7253:1;7246:88;7353:4;7350:1;7343:15;7377:4;7374:1;7367:15;7517:117;7626:1;7623;7616:12;7640:102;7681:6;7732:2;7728:7;7723:2;7716:5;7712:14;7708:28;7698:38;;7640:102;;;:::o;7748:168::-;7888:20;7884:1;7876:6;7872:14;7865:44;7748:168;:::o;7922:232::-;8062:34;8058:1;8050:6;8046:14;8039:58;8131:15;8126:2;8118:6;8114:15;8107:40;7922:232;:::o;8160:122::-;8233:24;8251:5;8233:24;:::i;:::-;8226:5;8223:35;8213:63;;8272:1;8269;8262:12;8213:63;8160:122;:::o;8288:::-;8361:24;8379:5;8361:24;:::i;:::-;8354:5;8351:35;8341:63;;8400:1;8397;8390:12;8341:63;8288:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "768000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2863",
"decimals()": "335",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "2482",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/FinanceService.sol": "FinanceService"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/FinanceService.sol": {
"keccak256": "0xb6f37cf78da80a316ff0fa6f7d3d606712319e3993ebb4cf5cf5040435eb349f",
"license": "GPL-3.0",
"urls": [
"bzz-raw://54cf85ee78223a03b3a884959e1307a89f364a0c1da21f8046337f957960809f",
"dweb:/ipfs/Qmb3jvbLQFYq1H84VGPRyEPnDW6RUq9vwH1L9BF7bVr579"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_68": {
"entryPoint": null,
"id": 68,
"parameterSlots": 4,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 460,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 535,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 586,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptr_fromMemory": {
"entryPoint": 609,
"id": null,
"parameterSlots": 2,
"returnSlots": 4
},
"allocate_memory": {
"entryPoint": 816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 847,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 857,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 911,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 921,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 975,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1029,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1083,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1130,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1177,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1182,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1192,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1197,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1214,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4939:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "102:326:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "112:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "179:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "137:41:1"
},
"nodeType": "YulFunctionCall",
"src": "137:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "121:15:1"
},
"nodeType": "YulFunctionCall",
"src": "121:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "203:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "210:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "196:6:1"
},
"nodeType": "YulFunctionCall",
"src": "196:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "196:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "226:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "241:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "248:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
"nodeType": "YulFunctionCall",
"src": "237:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "230:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "291:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "293:77:1"
},
"nodeType": "YulFunctionCall",
"src": "293:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "272:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "277:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "268:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "286:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "265:2:1"
},
"nodeType": "YulFunctionCall",
"src": "265:25:1"
},
"nodeType": "YulIf",
"src": "262:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "405:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "410:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "415:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "383:21:1"
},
"nodeType": "YulFunctionCall",
"src": "383:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "383:39:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "75:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "80:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "88:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "96:5:1",
"type": ""
}
],
"src": "7:421:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "521:282:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "572:77:1"
},
"nodeType": "YulFunctionCall",
"src": "572:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "572:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "549:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "557:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "564:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "541:3:1"
},
"nodeType": "YulFunctionCall",
"src": "541:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "534:6:1"
},
"nodeType": "YulFunctionCall",
"src": "534:35:1"
},
"nodeType": "YulIf",
"src": "531:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "662:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "682:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
"nodeType": "YulFunctionCall",
"src": "676:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "666:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "698:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "770:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "778:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "766:3:1"
},
"nodeType": "YulFunctionCall",
"src": "766:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "785:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "793:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "707:58:1"
},
"nodeType": "YulFunctionCall",
"src": "707:90:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "698:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "499:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "507:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "515:5:1",
"type": ""
}
],
"src": "448:355:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "872:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "882:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "897:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "891:5:1"
},
"nodeType": "YulFunctionCall",
"src": "891:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "882:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "940:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "913:26:1"
},
"nodeType": "YulFunctionCall",
"src": "913:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "913:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "850:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "858:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "866:5:1",
"type": ""
}
],
"src": "809:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1116:1181:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1163:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1165:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1165:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1165:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1137:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1146:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1133:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1133:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1158:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1129:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1129:33:1"
},
"nodeType": "YulIf",
"src": "1126:120:1"
},
{
"nodeType": "YulBlock",
"src": "1256:291:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1271:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1295:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1306:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1291:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1291:17:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1285:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1285:24:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1275:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1356:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1358:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1358:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1358:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1328:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1336:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1325:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1325:30:1"
},
"nodeType": "YulIf",
"src": "1322:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1453:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1509:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1520:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1505:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1505:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1529:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "1463:41:1"
},
"nodeType": "YulFunctionCall",
"src": "1463:74:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1453:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1557:292:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1572:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1596:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1607:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1592:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1592:18:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1586:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1586:25:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1576:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1658:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1660:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1660:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1660:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1630:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1638:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1627:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1627:30:1"
},
"nodeType": "YulIf",
"src": "1624:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1755:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1811:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1822:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1807:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1807:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1831:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "1765:41:1"
},
"nodeType": "YulFunctionCall",
"src": "1765:74:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1755:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1859:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1874:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1888:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1878:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1904:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1950:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1961:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1946:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1946:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1970:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "1914:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1914:64:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1904:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1998:292:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2013:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2037:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2048:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2033:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2033:18:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2027:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2027:25:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2017:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2099:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "2101:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2101:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2101:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2071:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2079:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2068:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2068:30:1"
},
"nodeType": "YulIf",
"src": "2065:117:1"
},
{
"nodeType": "YulAssignment",
"src": "2196:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2252:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2263:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2248:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2272:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "2206:41:1"
},
"nodeType": "YulFunctionCall",
"src": "2206:74:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "2196:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1062:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1073:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1085:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1093:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "1109:6:1",
"type": ""
}
],
"src": "958:1339:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2344:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2354:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "2364:18:1"
},
"nodeType": "YulFunctionCall",
"src": "2364:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2354:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2413:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2421:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "2393:19:1"
},
"nodeType": "YulFunctionCall",
"src": "2393:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2393:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2328:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2337:6:1",
"type": ""
}
],
"src": "2303:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2478:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2488:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2504:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2498:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2498:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2488:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2471:6:1",
"type": ""
}
],
"src": "2438:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2586:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2691:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2693:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2693:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2693:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2663:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2671:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2660:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2660:30:1"
},
"nodeType": "YulIf",
"src": "2657:56:1"
},
{
"nodeType": "YulAssignment",
"src": "2723:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2753:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2731:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2731:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2723:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2797:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2809:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2815:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2805:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2805:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2797:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2570:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2581:4:1",
"type": ""
}
],
"src": "2519:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2878:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2888:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2899:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2888:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2860:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2870:7:1",
"type": ""
}
],
"src": "2833:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2965:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2975:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2984:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2979:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3044:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3069:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3074:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3065:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3065:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3088:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3093:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3084:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3078:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3058:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3058:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3005:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3008:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3002:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3002:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3016:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3018:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3027:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3030:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3023:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3018:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2998:3:1",
"statements": []
},
"src": "2994:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3141:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3191:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3196:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3187:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3187:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3205:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3180:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3180:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3180:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3122:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3125:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3119:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3119:13:1"
},
"nodeType": "YulIf",
"src": "3116:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2947:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2952:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2957:6:1",
"type": ""
}
],
"src": "2916:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3280:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3290:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3304:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3310:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "3300:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3300:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3290:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "3321:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3351:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3357:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3347:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3347:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "3325:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3398:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3412:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3426:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3434:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3422:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3422:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3412:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3378:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3371:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3371:26:1"
},
"nodeType": "YulIf",
"src": "3368:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3501:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "3515:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3515:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3515:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3465:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3488:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3485:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3485:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3462:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3462:38:1"
},
"nodeType": "YulIf",
"src": "3459:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3264:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3273:6:1",
"type": ""
}
],
"src": "3229:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3598:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3608:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3630:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3660:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3638:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3638:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3626:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3626:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "3612:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3777:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3779:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3779:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3779:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3720:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3732:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3717:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3756:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3768:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3753:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3753:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3714:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3714:62:1"
},
"nodeType": "YulIf",
"src": "3711:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3815:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3819:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3808:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3808:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "3808:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3584:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3592:4:1",
"type": ""
}
],
"src": "3555:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3870:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3887:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3890:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3880:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3880:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3880:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3984:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3987:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3977:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3977:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3977:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4008:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4011:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4001:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4001:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4001:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "3842:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4056:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4073:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4076:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4066:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4066:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4066:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4170:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4173:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4163:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4163:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4163:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4197:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4187:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4187:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "4028:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4303:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4320:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4323:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4313:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4313:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4313:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "4214:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4426:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4443:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4446:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4436:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4436:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4436:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "4337:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4549:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4566:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4569:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4559:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4559:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4559:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "4460:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4672:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4689:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4692:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4682:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4682:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4682:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "4583:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4754:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4764:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4782:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4789:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4778:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4778:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4798:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4794:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4774:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "4764:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4737:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "4747:6:1",
"type": ""
}
],
"src": "4706:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4857:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4914:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4923:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4926:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4916:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4916:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4916:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4880:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4905:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4887:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4887:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4877:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4877:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4870:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4870:43:1"
},
"nodeType": "YulIf",
"src": "4867:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4850:5:1",
"type": ""
}
],
"src": "4814:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040516200122438038062001224833981810160405281019062000037919062000261565b6040518060400160405280858152602001848152506000808201518160000190805190602001906200006b9291906200011c565b5060208201518160010190805190602001906200008a9291906200011c565b509050506040518060400160405280838152602001828152506002600082015181600001556020820151816001019080519060200190620000cd9291906200011c565b5090505033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050620004d8565b8280546200012a90620003cf565b90600052602060002090601f0160209004810192826200014e57600085556200019a565b82601f106200016957805160ff19168380011785556200019a565b828001600101855582156200019a579182015b82811115620001995782518255916020019190600101906200017c565b5b509050620001a99190620001ad565b5090565b5b80821115620001c8576000816000905550600101620001ae565b5090565b6000620001e3620001dd8462000359565b62000330565b9050828152602081018484840111156200020257620002016200049e565b5b6200020f84828562000399565b509392505050565b600082601f8301126200022f576200022e62000499565b5b815162000241848260208601620001cc565b91505092915050565b6000815190506200025b81620004be565b92915050565b600080600080608085870312156200027e576200027d620004a8565b5b600085015167ffffffffffffffff8111156200029f576200029e620004a3565b5b620002ad8782880162000217565b945050602085015167ffffffffffffffff811115620002d157620002d0620004a3565b5b620002df8782880162000217565b9350506040620002f2878288016200024a565b925050606085015167ffffffffffffffff811115620003165762000315620004a3565b5b620003248782880162000217565b91505092959194509250565b60006200033c6200034f565b90506200034a828262000405565b919050565b6000604051905090565b600067ffffffffffffffff8211156200037757620003766200046a565b5b6200038282620004ad565b9050602081019050919050565b6000819050919050565b60005b83811015620003b95780820151818401526020810190506200039c565b83811115620003c9576000848401525b50505050565b60006002820490506001821680620003e857607f821691505b60208210811415620003ff57620003fe6200043b565b5b50919050565b6200041082620004ad565b810181811067ffffffffffffffff821117156200043257620004316200046a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620004c9816200038f565b8114620004d557600080fd5b50565b610d3c80620004e86000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806381f539ff146100465780639f0010fc146100645780639f999da314610080575b600080fd5b61004e61009e565b60405161005b9190610b19565b60405180910390f35b61007e60048036038101906100799190610964565b610378565b005b61008861051c565b6040516100959190610af7565b60405180910390f35b6100a6610906565b6001600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061014d5750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156102025760026040518060400160405290816000820154815260200160018201805461017990610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546101a590610bfc565b80156101f25780601f106101c7576101008083540402835291602001916101f2565b820191906000526020600020905b8154815290600101906020018083116101d557829003601f168201915b5050505050815250509150610374565b6000600181111561021657610215610c2e565b5b81600181111561022957610228610c2e565b5b14801561027f5750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610334576002604051806040016040529081600082015481526020016001820180546102ab90610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546102d790610bfc565b80156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050815250509150610373565b33816040517f301d703b00000000000000000000000000000000000000000000000000000000815260040161036a929190610aae565b60405180910390fd5b5b5090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610ad7565b60405180910390fd5b6000600181111561041c5761041b610c2e565b5b82600181111561042f5761042e610c2e565b5b1415610492576001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610518565b6001808111156104a5576104a4610c2e565b5b8260018111156104b8576104b7610c2e565b5b1415610517576001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5050565b610524610920565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105cb5750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156107085760006040518060400160405290816000820180546105ed90610bfc565b80601f016020809104026020016040519081016040528092919081815260200182805461061990610bfc565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050815260200160018201805461067f90610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90610bfc565b80156106f85780601f106106cd576101008083540402835291602001916106f8565b820191906000526020600020905b8154815290600101906020018083116106db57829003601f168201915b5050505050815250509150610902565b6000600181111561071c5761071b610c2e565b5b81600181111561072f5761072e610c2e565b5b1480156107855750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156108c25760006040518060400160405290816000820180546107a790610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546107d390610bfc565b80156108205780601f106107f557610100808354040283529160200191610820565b820191906000526020600020905b81548152906001019060200180831161080357829003601f168201915b5050505050815260200160018201805461083990610bfc565b80601f016020809104026020016040519081016040528092919081815260200182805461086590610bfc565b80156108b25780601f10610887576101008083540402835291602001916108b2565b820191906000526020600020905b81548152906001019060200180831161089557829003601f168201915b5050505050815250509150610901565b33816040517f301d703b0000000000000000000000000000000000000000000000000000000081526004016108f8929190610aae565b60405180910390fd5b5b5090565b604051806040016040528060008152602001606081525090565b604051806040016040528060608152602001606081525090565b60008135905061094981610cdf565b92915050565b60008135905061095e81610cf6565b92915050565b6000806040838503121561097b5761097a610c8c565b5b60006109898582860161094f565b925050602061099a8582860161093a565b9150509250929050565b6109ad81610b68565b82525050565b6109bc81610bb7565b82525050565b60006109cd82610b3b565b6109d78185610b46565b93506109e7818560208601610bc9565b6109f081610c91565b840191505092915050565b6000610a08601e83610b57565b9150610a1382610ca2565b602082019050919050565b60006040830160008301518482036000860152610a3b82826109c2565b91505060208301518482036020860152610a5582826109c2565b9150508091505092915050565b6000604083016000830151610a7a6000860182610a9f565b5060208301518482036020860152610a9282826109c2565b9150508091505092915050565b610aa881610bad565b82525050565b6000604082019050610ac360008301856109a4565b610ad060208301846109b3565b9392505050565b60006020820190508181036000830152610af0816109fb565b9050919050565b60006020820190508181036000830152610b118184610a1e565b905092915050565b60006020820190508181036000830152610b338184610a62565b905092915050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610b7382610b8d565b9050919050565b6000819050610b8882610ccb565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bc282610b7a565b9050919050565b60005b83811015610be7578082015181840152602081019050610bcc565b83811115610bf6576000848401525b50505050565b60006002820490506001821680610c1457607f821691505b60208210811415610c2857610c27610c5d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f6e6c79206f776e65722063616e20617574686f72697a652075736572730000600082015250565b60028110610cdc57610cdb610c2e565b5b50565b610ce881610b68565b8114610cf357600080fd5b50565b60028110610d0357600080fd5b5056fea2646970667358221220c22d2051b6e882f014ab972bc7e45b665313bbd588ec518f285005eb31de617764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1224 CODESIZE SUB DUP1 PUSH3 0x1224 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x261 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x6B SWAP3 SWAP2 SWAP1 PUSH3 0x11C JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x8A SWAP3 SWAP2 SWAP1 PUSH3 0x11C JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x2 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0xCD SWAP3 SWAP2 SWAP1 PUSH3 0x11C JUMP JUMPDEST POP SWAP1 POP POP CALLER PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP POP PUSH3 0x4D8 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x12A SWAP1 PUSH3 0x3CF JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x14E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x19A JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x169 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x19A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x19A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x199 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x17C JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x1A9 SWAP2 SWAP1 PUSH3 0x1AD JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1C8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x1AE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E3 PUSH3 0x1DD DUP5 PUSH3 0x359 JUMP JUMPDEST PUSH3 0x330 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x202 JUMPI PUSH3 0x201 PUSH3 0x49E JUMP JUMPDEST JUMPDEST PUSH3 0x20F DUP5 DUP3 DUP6 PUSH3 0x399 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x22F JUMPI PUSH3 0x22E PUSH3 0x499 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x241 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1CC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x25B DUP2 PUSH3 0x4BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x27E JUMPI PUSH3 0x27D PUSH3 0x4A8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x29F JUMPI PUSH3 0x29E PUSH3 0x4A3 JUMP JUMPDEST JUMPDEST PUSH3 0x2AD DUP8 DUP3 DUP9 ADD PUSH3 0x217 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 DUP6 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x2D1 JUMPI PUSH3 0x2D0 PUSH3 0x4A3 JUMP JUMPDEST JUMPDEST PUSH3 0x2DF DUP8 DUP3 DUP9 ADD PUSH3 0x217 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH3 0x2F2 DUP8 DUP3 DUP9 ADD PUSH3 0x24A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x316 JUMPI PUSH3 0x315 PUSH3 0x4A3 JUMP JUMPDEST JUMPDEST PUSH3 0x324 DUP8 DUP3 DUP9 ADD PUSH3 0x217 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x33C PUSH3 0x34F JUMP JUMPDEST SWAP1 POP PUSH3 0x34A DUP3 DUP3 PUSH3 0x405 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x377 JUMPI PUSH3 0x376 PUSH3 0x46A JUMP JUMPDEST JUMPDEST PUSH3 0x382 DUP3 PUSH3 0x4AD JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3B9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x39C JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x3C9 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x3E8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3FF JUMPI PUSH3 0x3FE PUSH3 0x43B JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x410 DUP3 PUSH3 0x4AD JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x432 JUMPI PUSH3 0x431 PUSH3 0x46A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x4C9 DUP2 PUSH3 0x38F JUMP JUMPDEST DUP2 EQ PUSH3 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD3C DUP1 PUSH3 0x4E8 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81F539FF EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9F0010FC EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x9F999DA3 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0xB19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x964 JUMP JUMPDEST PUSH2 0x378 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x88 PUSH2 0x51C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0xAF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA6 PUSH2 0x906 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x14D JUMPI POP PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x202 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x179 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1A5 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1F2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1F2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1D5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x374 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x216 JUMPI PUSH2 0x215 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x229 JUMPI PUSH2 0x228 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x27F JUMPI POP PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x334 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x2AB SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2D7 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x324 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2F9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x324 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x307 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x373 JUMP JUMPDEST CALLER DUP2 PUSH1 0x40 MLOAD PUSH32 0x301D703B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36A SWAP3 SWAP2 SWAP1 PUSH2 0xAAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x408 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3FF SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x41C JUMPI PUSH2 0x41B PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x492 JUMPI PUSH1 0x1 PUSH1 0x5 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x518 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4B8 JUMPI PUSH2 0x4B7 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x517 JUMPI PUSH1 0x1 PUSH1 0x6 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x524 PUSH2 0x920 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x5CB JUMPI POP PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x708 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x5ED SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x619 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x666 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x63B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x666 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x649 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x67F SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6AB SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x902 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x71C JUMPI PUSH2 0x71B PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x72F JUMPI PUSH2 0x72E PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x785 JUMPI POP PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x8C2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x7A7 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7D3 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x820 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7F5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x820 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x803 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x839 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x865 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x887 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x895 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x901 JUMP JUMPDEST CALLER DUP2 PUSH1 0x40 MLOAD PUSH32 0x301D703B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8F8 SWAP3 SWAP2 SWAP1 PUSH2 0xAAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x949 DUP2 PUSH2 0xCDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x95E DUP2 PUSH2 0xCF6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x97B JUMPI PUSH2 0x97A PUSH2 0xC8C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x989 DUP6 DUP3 DUP7 ADD PUSH2 0x94F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x99A DUP6 DUP3 DUP7 ADD PUSH2 0x93A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x9AD DUP2 PUSH2 0xB68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x9BC DUP2 PUSH2 0xBB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9CD DUP3 PUSH2 0xB3B JUMP JUMPDEST PUSH2 0x9D7 DUP2 DUP6 PUSH2 0xB46 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBC9 JUMP JUMPDEST PUSH2 0x9F0 DUP2 PUSH2 0xC91 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA08 PUSH1 0x1E DUP4 PUSH2 0xB57 JUMP JUMPDEST SWAP2 POP PUSH2 0xA13 DUP3 PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xA3B DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xA55 DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xA7A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xA9F JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xA92 DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA8 DUP2 PUSH2 0xBAD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xAC3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x9A4 JUMP JUMPDEST PUSH2 0xAD0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x9B3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xAF0 DUP2 PUSH2 0x9FB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB11 DUP2 DUP5 PUSH2 0xA1E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB33 DUP2 DUP5 PUSH2 0xA62 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB73 DUP3 PUSH2 0xB8D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xB88 DUP3 PUSH2 0xCCB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC2 DUP3 PUSH2 0xB7A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBCC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBF6 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xC14 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xC28 JUMPI PUSH2 0xC27 PUSH2 0xC5D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E20617574686F72697A652075736572730000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0xCDC JUMPI PUSH2 0xCDB PUSH2 0xC2E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0xCE8 DUP2 PUSH2 0xB68 JUMP JUMPDEST DUP2 EQ PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0xD03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 0x2D KECCAK256 MLOAD 0xB6 0xE8 DUP3 CREATE EQ 0xAB SWAP8 0x2B 0xC7 0xE4 JUMPDEST PUSH7 0x5313BBD588EC51 DUP16 0x28 POP SDIV 0xEB BALANCE 0xDE PUSH2 0x7764 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "74:1926:0:-:0;;;601:274;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;760:22;;;;;;;;770:4;760:22;;;;776:5;760:22;;;748:9;:34;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;808:30;;;;;;;;821:6;808:30;;;;829:8;808:30;;;793:12;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;857:10;849:5;;:18;;;;;;;;;;;;;;;;;;601:274;;;;74:1926;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:421:1:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:112;;;293:79;;:::i;:::-;262:112;383:39;415:6;410:3;405;383:39;:::i;:::-;102:326;7:421;;;;;:::o;448:355::-;515:5;564:3;557:4;549:6;545:17;541:27;531:122;;572:79;;:::i;:::-;531:122;682:6;676:13;707:90;793:3;785:6;778:4;770:6;766:17;707:90;:::i;:::-;698:99;;521:282;448:355;;;;:::o;809:143::-;866:5;897:6;891:13;882:22;;913:33;940:5;913:33;:::i;:::-;809:143;;;;:::o;958:1339::-;1085:6;1093;1101;1109;1158:3;1146:9;1137:7;1133:23;1129:33;1126:120;;;1165:79;;:::i;:::-;1126:120;1306:1;1295:9;1291:17;1285:24;1336:18;1328:6;1325:30;1322:117;;;1358:79;;:::i;:::-;1322:117;1463:74;1529:7;1520:6;1509:9;1505:22;1463:74;:::i;:::-;1453:84;;1256:291;1607:2;1596:9;1592:18;1586:25;1638:18;1630:6;1627:30;1624:117;;;1660:79;;:::i;:::-;1624:117;1765:74;1831:7;1822:6;1811:9;1807:22;1765:74;:::i;:::-;1755:84;;1557:292;1888:2;1914:64;1970:7;1961:6;1950:9;1946:22;1914:64;:::i;:::-;1904:74;;1859:129;2048:2;2037:9;2033:18;2027:25;2079:18;2071:6;2068:30;2065:117;;;2101:79;;:::i;:::-;2065:117;2206:74;2272:7;2263:6;2252:9;2248:22;2206:74;:::i;:::-;2196:84;;1998:292;958:1339;;;;;;;:::o;2303:129::-;2337:6;2364:20;;:::i;:::-;2354:30;;2393:33;2421:4;2413:6;2393:33;:::i;:::-;2303:129;;;:::o;2438:75::-;2471:6;2504:2;2498:9;2488:19;;2438:75;:::o;2519:308::-;2581:4;2671:18;2663:6;2660:30;2657:56;;;2693:18;;:::i;:::-;2657:56;2731:29;2753:6;2731:29;:::i;:::-;2723:37;;2815:4;2809;2805:15;2797:23;;2519:308;;;:::o;2833:77::-;2870:7;2899:5;2888:16;;2833:77;;;:::o;2916:307::-;2984:1;2994:113;3008:6;3005:1;3002:13;2994:113;;;3093:1;3088:3;3084:11;3078:18;3074:1;3069:3;3065:11;3058:39;3030:2;3027:1;3023:10;3018:15;;2994:113;;;3125:6;3122:1;3119:13;3116:101;;;3205:1;3196:6;3191:3;3187:16;3180:27;3116:101;2965:258;2916:307;;;:::o;3229:320::-;3273:6;3310:1;3304:4;3300:12;3290:22;;3357:1;3351:4;3347:12;3378:18;3368:81;;3434:4;3426:6;3422:17;3412:27;;3368:81;3496:2;3488:6;3485:14;3465:18;3462:38;3459:84;;;3515:18;;:::i;:::-;3459:84;3280:269;3229:320;;;:::o;3555:281::-;3638:27;3660:4;3638:27;:::i;:::-;3630:6;3626:40;3768:6;3756:10;3753:22;3732:18;3720:10;3717:34;3714:62;3711:88;;;3779:18;;:::i;:::-;3711:88;3819:10;3815:2;3808:22;3598:238;3555:281;;:::o;3842:180::-;3890:77;3887:1;3880:88;3987:4;3984:1;3977:15;4011:4;4008:1;4001:15;4028:180;4076:77;4073:1;4066:88;4173:4;4170:1;4163:15;4197:4;4194:1;4187:15;4214:117;4323:1;4320;4313:12;4337:117;4446:1;4443;4436:12;4460:117;4569:1;4566;4559:12;4583:117;4692:1;4689;4682:12;4706:102;4747:6;4798:2;4794:7;4789:2;4782:5;4778:14;4774:28;4764:38;;4706:102;;;:::o;4814:122::-;4887:24;4905:5;4887:24;:::i;:::-;4880:5;4877:35;4867:63;;4926:1;4923;4916:12;4867:63;4814:122;:::o;74:1926:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getBasicInfo_130": {
"entryPoint": 1308,
"id": 130,
"parameterSlots": 0,
"returnSlots": 1
},
"@getPersonalInfo_143": {
"entryPoint": 158,
"id": 143,
"parameterSlots": 0,
"returnSlots": 1
},
"@registerUser_178": {
"entryPoint": 888,
"id": 178,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 2362,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_enum$_UserType_$14": {
"entryPoint": 2383,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_enum$_UserType_$14t_address": {
"entryPoint": 2404,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2468,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_enum$_UserType_$14_to_t_uint8_fromStack": {
"entryPoint": 2483,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 2498,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2555,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_struct$_BasicInfo_$6_memory_ptr_to_t_struct$_BasicInfo_$6_memory_ptr_fromStack": {
"entryPoint": 2590,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_struct$_PersonalInfo_$11_memory_ptr_to_t_struct$_PersonalInfo_$11_memory_ptr_fromStack": {
"entryPoint": 2658,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 2719,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_enum$_UserType_$14__to_t_address_t_uint8__fromStack_reversed": {
"entryPoint": 2734,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2775,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_struct$_BasicInfo_$6_memory_ptr__to_t_struct$_BasicInfo_$6_memory_ptr__fromStack_reversed": {
"entryPoint": 2807,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_struct$_PersonalInfo_$11_memory_ptr__to_t_struct$_PersonalInfo_$11_memory_ptr__fromStack_reversed": {
"entryPoint": 2841,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2875,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 2886,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2903,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2920,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_enum$_UserType_$14": {
"entryPoint": 2938,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2957,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2989,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_UserType_$14_to_t_uint8": {
"entryPoint": 2999,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 3017,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 3068,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 3118,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 3165,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3212,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3217,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447": {
"entryPoint": 3234,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_assert_t_enum$_UserType_$14": {
"entryPoint": 3275,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3295,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_enum$_UserType_$14": {
"entryPoint": 3318,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7954:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "215:98:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "225:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "247:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "234:12:1"
},
"nodeType": "YulFunctionCall",
"src": "234:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "225:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "301:5:1"
}
],
"functionName": {
"name": "validator_revert_t_enum$_UserType_$14",
"nodeType": "YulIdentifier",
"src": "263:37:1"
},
"nodeType": "YulFunctionCall",
"src": "263:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "263:44:1"
}
]
},
"name": "abi_decode_t_enum$_UserType_$14",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "193:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "201:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "209:5:1",
"type": ""
}
],
"src": "152:161:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "413:402:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "459:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "461:77:1"
},
"nodeType": "YulFunctionCall",
"src": "461:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "461:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "434:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "443:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "430:3:1"
},
"nodeType": "YulFunctionCall",
"src": "430:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "455:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "426:32:1"
},
"nodeType": "YulIf",
"src": "423:119:1"
},
{
"nodeType": "YulBlock",
"src": "552:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "567:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "581:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "571:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "596:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "642:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "653:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "638:3:1"
},
"nodeType": "YulFunctionCall",
"src": "638:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "662:7:1"
}
],
"functionName": {
"name": "abi_decode_t_enum$_UserType_$14",
"nodeType": "YulIdentifier",
"src": "606:31:1"
},
"nodeType": "YulFunctionCall",
"src": "606:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "596:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "690:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "705:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "719:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "709:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "735:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "770:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "781:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "766:3:1"
},
"nodeType": "YulFunctionCall",
"src": "766:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "790:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "745:20:1"
},
"nodeType": "YulFunctionCall",
"src": "745:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "735:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_enum$_UserType_$14t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "375:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "386:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "398:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "406:6:1",
"type": ""
}
],
"src": "319:496:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "903:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "926:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "908:17:1"
},
"nodeType": "YulFunctionCall",
"src": "908:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "896:6:1"
},
"nodeType": "YulFunctionCall",
"src": "896:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "896:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "874:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "881:3:1",
"type": ""
}
],
"src": "821:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1019:75:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1036:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1081:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_UserType_$14_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "1041:39:1"
},
"nodeType": "YulFunctionCall",
"src": "1041:46:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1029:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1029:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "1029:59:1"
}
]
},
"name": "abi_encode_t_enum$_UserType_$14_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1007:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1014:3:1",
"type": ""
}
],
"src": "945:149:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1182:262:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1192:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1239:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1206:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1206:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1196:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1254:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1310:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1315:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1261:48:1"
},
"nodeType": "YulFunctionCall",
"src": "1261:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1254:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1357:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1364:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1353:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1353:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1371:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1376:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1331:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1331:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1331:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1392:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1403:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1430:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1408:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1408:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1399:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1399:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1392:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1163:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1170:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1178:3:1",
"type": ""
}
],
"src": "1100:344:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1596:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1606:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1672:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1677:2:1",
"type": "",
"value": "30"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1613:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1613:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1606:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1778:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447",
"nodeType": "YulIdentifier",
"src": "1689:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1689:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1689:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1791:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1802:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1807:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1798:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1798:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1791:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1584:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1592:3:1",
"type": ""
}
],
"src": "1450:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2006:554:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2016:26:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2032:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2037:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2028:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2028:14:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2020:4:1",
"type": ""
}
]
},
{
"nodeType": "YulBlock",
"src": "2052:235:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2087:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2117:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2124:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2113:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2113:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2107:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2107:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "2091:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2155:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2160:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2151:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2151:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2171:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2177:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2167:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2167:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2144:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2144:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "2144:38:1"
},
{
"nodeType": "YulAssignment",
"src": "2195:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "2257:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2271:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2203:53:1"
},
"nodeType": "YulFunctionCall",
"src": "2203:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2195:4:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2297:236:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2333:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2363:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2370:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2359:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2359:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2353:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2353:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "2337:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2401:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2406:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2397:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2397:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2417:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2423:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2413:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2390:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2390:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "2390:38:1"
},
{
"nodeType": "YulAssignment",
"src": "2441:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "2503:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2517:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2449:53:1"
},
"nodeType": "YulFunctionCall",
"src": "2449:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2441:4:1"
}
]
}
]
},
{
"nodeType": "YulAssignment",
"src": "2543:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2550:4:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2543:3:1"
}
]
}
]
},
"name": "abi_encode_t_struct$_BasicInfo_$6_memory_ptr_to_t_struct$_BasicInfo_$6_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1985:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1992:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2001:3:1",
"type": ""
}
],
"src": "1884:676:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2764:488:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2774:26:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2790:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2795:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2786:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2786:14:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2778:4:1",
"type": ""
}
]
},
{
"nodeType": "YulBlock",
"src": "2810:166:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2847:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2877:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2884:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2873:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2873:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2867:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2867:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "2851:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "2937:12:1"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2955:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2960:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2951:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2951:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2903:33:1"
},
"nodeType": "YulFunctionCall",
"src": "2903:63:1"
},
"nodeType": "YulExpressionStatement",
"src": "2903:63:1"
}
]
},
{
"nodeType": "YulBlock",
"src": "2986:239:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3025:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3055:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3062:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3051:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3051:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3045:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3045:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "3029:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3093:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3098:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3089:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3089:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3109:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3115:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3105:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3105:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3082:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3082:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "3082:38:1"
},
{
"nodeType": "YulAssignment",
"src": "3133:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "3195:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3209:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3141:53:1"
},
"nodeType": "YulFunctionCall",
"src": "3141:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3133:4:1"
}
]
}
]
},
{
"nodeType": "YulAssignment",
"src": "3235:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3242:4:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3235:3:1"
}
]
}
]
},
"name": "abi_encode_t_struct$_PersonalInfo_$11_memory_ptr_to_t_struct$_PersonalInfo_$11_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2743:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2750:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2759:3:1",
"type": ""
}
],
"src": "2634:618:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3313:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3353:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3335:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3335:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3323:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3323:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3323:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3301:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3308:3:1",
"type": ""
}
],
"src": "3258:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3507:215:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3517:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3529:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3540:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3525:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3597:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3610:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3621:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3606:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3606:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3553:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3553:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3553:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3687:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3700:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3711:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3696:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3696:18:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_UserType_$14_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "3634:52:1"
},
"nodeType": "YulFunctionCall",
"src": "3634:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "3634:81:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_enum$_UserType_$14__to_t_address_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3471:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3483:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3491:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3502:4:1",
"type": ""
}
],
"src": "3372:350:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3899:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3909:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3921:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3932:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3917:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3909:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3956:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3967:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3952:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3952:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3975:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3981:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3971:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3971:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3945:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3945:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3945:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4001:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4135:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4009:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4009:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4001:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3879:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3894:4:1",
"type": ""
}
],
"src": "3728:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4299:223:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4309:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4321:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4332:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4317:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4309:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4356:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4367:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4352:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4352:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4375:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4381:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4371:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4371:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4345:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4345:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4401:114:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4501:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4510:4:1"
}
],
"functionName": {
"name": "abi_encode_t_struct$_BasicInfo_$6_memory_ptr_to_t_struct$_BasicInfo_$6_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4409:91:1"
},
"nodeType": "YulFunctionCall",
"src": "4409:106:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4401:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_struct$_BasicInfo_$6_memory_ptr__to_t_struct$_BasicInfo_$6_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4271:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4283:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4294:4:1",
"type": ""
}
],
"src": "4153:369:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4682:231:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4692:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4692:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4739:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4750:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4735:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4735:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4758:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4764:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4754:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4754:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4728:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4728:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4728:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4784:122:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4892:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4901:4:1"
}
],
"functionName": {
"name": "abi_encode_t_struct$_PersonalInfo_$11_memory_ptr_to_t_struct$_PersonalInfo_$11_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4792:99:1"
},
"nodeType": "YulFunctionCall",
"src": "4792:114:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4784:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_struct$_PersonalInfo_$11_memory_ptr__to_t_struct$_PersonalInfo_$11_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4654:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4666:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4677:4:1",
"type": ""
}
],
"src": "4528:385:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4959:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4969:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4985:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4979:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4979:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4969:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4952:6:1",
"type": ""
}
],
"src": "4919:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5059:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5070:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5086:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5080:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5080:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5070:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5042:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5052:6:1",
"type": ""
}
],
"src": "5000:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5191:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5208:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5213:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5201:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5201:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5201:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5229:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5248:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5253:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5244:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5244:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5229:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5163:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5168:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5179:11:1",
"type": ""
}
],
"src": "5105:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5366:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5383:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5388:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5376:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5376:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5376:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5404:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5423:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5428:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5419:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5419:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5404:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5338:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5343:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5354:11:1",
"type": ""
}
],
"src": "5270:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5490:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5500:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5529:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5511:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5511:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5500:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5472:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5482:7:1",
"type": ""
}
],
"src": "5445:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5603:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5613:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5624:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5613:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5668:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_UserType_$14",
"nodeType": "YulIdentifier",
"src": "5630:37:1"
},
"nodeType": "YulFunctionCall",
"src": "5630:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "5630:44:1"
}
]
},
"name": "cleanup_t_enum$_UserType_$14",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5585:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5595:7:1",
"type": ""
}
],
"src": "5547:133:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5731:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5741:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5756:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5763:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5752:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5752:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5741:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5713:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5723:7:1",
"type": ""
}
],
"src": "5686:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5863:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5873:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5884:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5873:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5845:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5855:7:1",
"type": ""
}
],
"src": "5818:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5970:64:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5980:48:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6022:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_UserType_$14",
"nodeType": "YulIdentifier",
"src": "5993:28:1"
},
"nodeType": "YulFunctionCall",
"src": "5993:35:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "5980:9:1"
}
]
}
]
},
"name": "convert_t_enum$_UserType_$14_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5950:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "5960:9:1",
"type": ""
}
],
"src": "5901:133:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6089:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6099:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6108:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6103:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6168:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6193:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6198:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6189:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6189:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6212:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6217:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6208:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6202:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6202:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6182:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6182:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "6182:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6129:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6132:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6126:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6126:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "6140:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6142:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6151:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6154:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6147:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6142:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6122:3:1",
"statements": []
},
"src": "6118:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6265:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6315:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6320:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6311:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6311:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6329:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6304:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6304:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "6304:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6246:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6249:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6243:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6243:13:1"
},
"nodeType": "YulIf",
"src": "6240:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6071:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "6076:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6081:6:1",
"type": ""
}
],
"src": "6040:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6404:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6414:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6428:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6434:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6424:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6424:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6414:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6445:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6475:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6481:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6471:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6471:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6449:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6522:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6536:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6550:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6558:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6546:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6546:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6536:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6502:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6495:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6495:26:1"
},
"nodeType": "YulIf",
"src": "6492:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6625:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6639:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6639:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6639:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6589:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6612:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6620:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6609:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6609:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6586:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6586:38:1"
},
"nodeType": "YulIf",
"src": "6583:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "6388:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6397:6:1",
"type": ""
}
],
"src": "6353:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6707:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6724:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6727:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6717:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6717:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6717:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6821:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6824:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6814:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6814:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6814:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6845:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6848:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6838:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6838:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6838:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "6679:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6893:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6910:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6913:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6903:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6903:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6903:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7007:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7010:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7000:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7000:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7000:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7031:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7034:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7024:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7024:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7024:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6865:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7140:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7160:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7150:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7150:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7051:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7263:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7280:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7283:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7273:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7273:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7273:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7174:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7345:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7355:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7373:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7380:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7369:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7369:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7389:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7385:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7385:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7365:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7355:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7328:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7338:6:1",
"type": ""
}
],
"src": "7297:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7511:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7533:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7541:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7529:14:1"
},
{
"hexValue": "4f6e6c79206f776e65722063616e20617574686f72697a65207573657273",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7545:32:1",
"type": "",
"value": "Only owner can authorize users"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7522:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7522:56:1"
},
"nodeType": "YulExpressionStatement",
"src": "7522:56:1"
}
]
},
"name": "store_literal_in_memory_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7503:6:1",
"type": ""
}
],
"src": "7405:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7645:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7679:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "7681:16:1"
},
"nodeType": "YulFunctionCall",
"src": "7681:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "7681:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7668:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7675:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7665:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7665:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7658:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7658:20:1"
},
"nodeType": "YulIf",
"src": "7655:46:1"
}
]
},
"name": "validator_assert_t_enum$_UserType_$14",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7638:5:1",
"type": ""
}
],
"src": "7591:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7756:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7813:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7822:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7825:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7815:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7815:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7815:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7779:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7804:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "7786:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7786:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7776:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7776:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7769:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7769:43:1"
},
"nodeType": "YulIf",
"src": "7766:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7749:5:1",
"type": ""
}
],
"src": "7713:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7895:56:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7929:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7938:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7941:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7931:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7931:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7931:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7918:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7925:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7915:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7915:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7908:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7908:20:1"
},
"nodeType": "YulIf",
"src": "7905:40:1"
}
]
},
"name": "validator_revert_t_enum$_UserType_$14",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7888:5:1",
"type": ""
}
],
"src": "7841:110:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_enum$_UserType_$14(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_UserType_$14(value)\n }\n\n function abi_decode_tuple_t_enum$_UserType_$14t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_enum$_UserType_$14(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_enum$_UserType_$14_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_UserType_$14_to_t_uint8(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447(pos)\n end := add(pos, 32)\n }\n\n // struct Identity.BasicInfo -> struct Identity.BasicInfo\n function abi_encode_t_struct$_BasicInfo_$6_memory_ptr_to_t_struct$_BasicInfo_$6_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // name\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // email\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n // struct Identity.PersonalInfo -> struct Identity.PersonalInfo\n function abi_encode_t_struct$_PersonalInfo_$11_memory_ptr_to_t_struct$_PersonalInfo_$11_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // salary\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // _address\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_enum$_UserType_$14__to_t_address_t_uint8__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_enum$_UserType_$14_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_struct$_BasicInfo_$6_memory_ptr__to_t_struct$_BasicInfo_$6_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_BasicInfo_$6_memory_ptr_to_t_struct$_BasicInfo_$6_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_struct$_PersonalInfo_$11_memory_ptr__to_t_struct$_PersonalInfo_$11_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_PersonalInfo_$11_memory_ptr_to_t_struct$_PersonalInfo_$11_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_enum$_UserType_$14(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_UserType_$14(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_enum$_UserType_$14_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_UserType_$14(value)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_ec4558d2c9103a459d00a1e785cdfbd77474beb238f86598f423b917e8e57447(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can authorize users\")\n\n }\n\n function validator_assert_t_enum$_UserType_$14(value) {\n if iszero(lt(value, 2)) { panic_error_0x21() }\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_enum$_UserType_$14(value) {\n if iszero(lt(value, 2)) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806381f539ff146100465780639f0010fc146100645780639f999da314610080575b600080fd5b61004e61009e565b60405161005b9190610b19565b60405180910390f35b61007e60048036038101906100799190610964565b610378565b005b61008861051c565b6040516100959190610af7565b60405180910390f35b6100a6610906565b6001600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061014d5750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156102025760026040518060400160405290816000820154815260200160018201805461017990610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546101a590610bfc565b80156101f25780601f106101c7576101008083540402835291602001916101f2565b820191906000526020600020905b8154815290600101906020018083116101d557829003601f168201915b5050505050815250509150610374565b6000600181111561021657610215610c2e565b5b81600181111561022957610228610c2e565b5b14801561027f5750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610334576002604051806040016040529081600082015481526020016001820180546102ab90610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546102d790610bfc565b80156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050815250509150610373565b33816040517f301d703b00000000000000000000000000000000000000000000000000000000815260040161036a929190610aae565b60405180910390fd5b5b5090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610ad7565b60405180910390fd5b6000600181111561041c5761041b610c2e565b5b82600181111561042f5761042e610c2e565b5b1415610492576001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610518565b6001808111156104a5576104a4610c2e565b5b8260018111156104b8576104b7610c2e565b5b1415610517576001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5050565b610524610920565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105cb5750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156107085760006040518060400160405290816000820180546105ed90610bfc565b80601f016020809104026020016040519081016040528092919081815260200182805461061990610bfc565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050815260200160018201805461067f90610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90610bfc565b80156106f85780601f106106cd576101008083540402835291602001916106f8565b820191906000526020600020905b8154815290600101906020018083116106db57829003601f168201915b5050505050815250509150610902565b6000600181111561071c5761071b610c2e565b5b81600181111561072f5761072e610c2e565b5b1480156107855750600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156108c25760006040518060400160405290816000820180546107a790610bfc565b80601f01602080910402602001604051908101604052809291908181526020018280546107d390610bfc565b80156108205780601f106107f557610100808354040283529160200191610820565b820191906000526020600020905b81548152906001019060200180831161080357829003601f168201915b5050505050815260200160018201805461083990610bfc565b80601f016020809104026020016040519081016040528092919081815260200182805461086590610bfc565b80156108b25780601f10610887576101008083540402835291602001916108b2565b820191906000526020600020905b81548152906001019060200180831161089557829003601f168201915b5050505050815250509150610901565b33816040517f301d703b0000000000000000000000000000000000000000000000000000000081526004016108f8929190610aae565b60405180910390fd5b5b5090565b604051806040016040528060008152602001606081525090565b604051806040016040528060608152602001606081525090565b60008135905061094981610cdf565b92915050565b60008135905061095e81610cf6565b92915050565b6000806040838503121561097b5761097a610c8c565b5b60006109898582860161094f565b925050602061099a8582860161093a565b9150509250929050565b6109ad81610b68565b82525050565b6109bc81610bb7565b82525050565b60006109cd82610b3b565b6109d78185610b46565b93506109e7818560208601610bc9565b6109f081610c91565b840191505092915050565b6000610a08601e83610b57565b9150610a1382610ca2565b602082019050919050565b60006040830160008301518482036000860152610a3b82826109c2565b91505060208301518482036020860152610a5582826109c2565b9150508091505092915050565b6000604083016000830151610a7a6000860182610a9f565b5060208301518482036020860152610a9282826109c2565b9150508091505092915050565b610aa881610bad565b82525050565b6000604082019050610ac360008301856109a4565b610ad060208301846109b3565b9392505050565b60006020820190508181036000830152610af0816109fb565b9050919050565b60006020820190508181036000830152610b118184610a1e565b905092915050565b60006020820190508181036000830152610b338184610a62565b905092915050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610b7382610b8d565b9050919050565b6000819050610b8882610ccb565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bc282610b7a565b9050919050565b60005b83811015610be7578082015181840152602081019050610bcc565b83811115610bf6576000848401525b50505050565b60006002820490506001821680610c1457607f821691505b60208210811415610c2857610c27610c5d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f6e6c79206f776e65722063616e20617574686f72697a652075736572730000600082015250565b60028110610cdc57610cdb610c2e565b5b50565b610ce881610b68565b8114610cf357600080fd5b50565b60028110610d0357600080fd5b5056fea2646970667358221220c22d2051b6e882f014ab972bc7e45b665313bbd588ec518f285005eb31de617764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81F539FF EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x9F0010FC EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x9F999DA3 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0xB19 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x964 JUMP JUMPDEST PUSH2 0x378 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x88 PUSH2 0x51C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0xAF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA6 PUSH2 0x906 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x14D JUMPI POP PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x202 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x179 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1A5 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1F2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1F2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1D5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x374 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x216 JUMPI PUSH2 0x215 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x229 JUMPI PUSH2 0x228 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x27F JUMPI POP PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x334 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x2AB SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2D7 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x324 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2F9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x324 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x307 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x373 JUMP JUMPDEST CALLER DUP2 PUSH1 0x40 MLOAD PUSH32 0x301D703B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x36A SWAP3 SWAP2 SWAP1 PUSH2 0xAAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x408 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3FF SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x41C JUMPI PUSH2 0x41B PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x492 JUMPI PUSH1 0x1 PUSH1 0x5 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x518 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP2 GT ISZERO PUSH2 0x4A5 JUMPI PUSH2 0x4A4 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4B8 JUMPI PUSH2 0x4B7 PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x517 JUMPI PUSH1 0x1 PUSH1 0x6 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x524 PUSH2 0x920 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x5CB JUMPI POP PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x708 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x5ED SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x619 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x666 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x63B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x666 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x649 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x67F SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6AB SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6F8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6CD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6F8 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6DB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x902 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x71C JUMPI PUSH2 0x71B PUSH2 0xC2E JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x72F JUMPI PUSH2 0x72E PUSH2 0xC2E JUMP JUMPDEST JUMPDEST EQ DUP1 ISZERO PUSH2 0x785 JUMPI POP PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x8C2 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x7A7 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7D3 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x820 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7F5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x820 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x803 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x839 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x865 SWAP1 PUSH2 0xBFC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x887 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x895 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP2 POP PUSH2 0x901 JUMP JUMPDEST CALLER DUP2 PUSH1 0x40 MLOAD PUSH32 0x301D703B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8F8 SWAP3 SWAP2 SWAP1 PUSH2 0xAAE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x949 DUP2 PUSH2 0xCDF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x95E DUP2 PUSH2 0xCF6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x97B JUMPI PUSH2 0x97A PUSH2 0xC8C JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x989 DUP6 DUP3 DUP7 ADD PUSH2 0x94F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x99A DUP6 DUP3 DUP7 ADD PUSH2 0x93A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x9AD DUP2 PUSH2 0xB68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x9BC DUP2 PUSH2 0xBB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9CD DUP3 PUSH2 0xB3B JUMP JUMPDEST PUSH2 0x9D7 DUP2 DUP6 PUSH2 0xB46 JUMP JUMPDEST SWAP4 POP PUSH2 0x9E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xBC9 JUMP JUMPDEST PUSH2 0x9F0 DUP2 PUSH2 0xC91 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA08 PUSH1 0x1E DUP4 PUSH2 0xB57 JUMP JUMPDEST SWAP2 POP PUSH2 0xA13 DUP3 PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0xA3B DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xA55 DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xA7A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xA9F JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xA92 DUP3 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAA8 DUP2 PUSH2 0xBAD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xAC3 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x9A4 JUMP JUMPDEST PUSH2 0xAD0 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x9B3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xAF0 DUP2 PUSH2 0x9FB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB11 DUP2 DUP5 PUSH2 0xA1E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB33 DUP2 DUP5 PUSH2 0xA62 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB73 DUP3 PUSH2 0xB8D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xB88 DUP3 PUSH2 0xCCB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC2 DUP3 PUSH2 0xB7A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xBCC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBF6 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xC14 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xC28 JUMPI PUSH2 0xC27 PUSH2 0xC5D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E20617574686F72697A652075736572730000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0xCDC JUMPI PUSH2 0xCDB PUSH2 0xC2E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0xCE8 DUP2 PUSH2 0xB68 JUMP JUMPDEST DUP2 EQ PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0xD03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 0x2D KECCAK256 MLOAD 0xB6 0xE8 DUP3 CREATE EQ 0xAB SWAP8 0x2B 0xC7 0xE4 JUMPDEST PUSH7 0x5313BBD588EC51 DUP16 0x28 POP SDIV 0xEB BALANCE 0xDE PUSH2 0x7764 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "74:1926:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:181;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1731:266;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1365:169;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1542:181;1659:19;;:::i;:::-;1622:17;956:5;;;;;;;;;;;942:19;;:10;:19;;;:48;;;;965:13;:25;979:10;965:25;;;;;;;;;;;;;;;;;;;;;;;;;942:48;938:252;;;1703:12:::1;1696:19;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;938:252:::0;;;1042:14;1030:26;;;;;;;;:::i;:::-;;:8;:26;;;;;;;;:::i;:::-;;;:52;;;;;1060:10;:22;1071:10;1060:22;;;;;;;;;;;;;;;;;;;;;;;;;1030:52;1026:164;;;1703:12:::1;1696:19;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;1026:164:::0;;;1157:10;1169:8;1140:38;;;;;;;;;;;;:::i;:::-;;;;;;;;1026:164;938:252;1542:181;;:::o;1731:266::-;1273:5;;;;;;;;;;;1259:19;;:10;:19;;;1237:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;1830:14:::1;1818:26;;;;;;;;:::i;:::-;;:8;:26;;;;;;;;:::i;:::-;;;1814:176;;;1880:4;1861:10;:16;1872:4;1861:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;1814:176;;;1918:17;1906:29:::0;::::1;;;;;;;:::i;:::-;;:8;:29;;;;;;;;:::i;:::-;;;1902:88;;;1974:4;1952:13;:19;1966:4;1952:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;1902:88;1814:176;1731:266:::0;;:::o;1365:169::-;1476:16;;:::i;:::-;1442:14;956:5;;;;;;;;;;;942:19;;:10;:19;;;:48;;;;965:13;:25;979:10;965:25;;;;;;;;;;;;;;;;;;;;;;;;;942:48;938:252;;;1517:9:::1;1510:16;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;938:252:::0;;;1042:14;1030:26;;;;;;;;:::i;:::-;;:8;:26;;;;;;;;:::i;:::-;;;:52;;;;;1060:10;:22;1071:10;1060:22;;;;;;;;;;;;;;;;;;;;;;;;;1030:52;1026:164;;;1517:9:::1;1510:16;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;1026:164:::0;;;1157:10;1169:8;1140:38;;;;;;;;;;;;:::i;:::-;;;;;;;;1026:164;938:252;1365:169;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:161::-;209:5;247:6;234:20;225:29;;263:44;301:5;263:44;:::i;:::-;152:161;;;;:::o;319:496::-;398:6;406;455:2;443:9;434:7;430:23;426:32;423:119;;;461:79;;:::i;:::-;423:119;581:1;606:64;662:7;653:6;642:9;638:22;606:64;:::i;:::-;596:74;;552:128;719:2;745:53;790:7;781:6;770:9;766:22;745:53;:::i;:::-;735:63;;690:118;319:496;;;;;:::o;821:118::-;908:24;926:5;908:24;:::i;:::-;903:3;896:37;821:118;;:::o;945:149::-;1041:46;1081:5;1041:46;:::i;:::-;1036:3;1029:59;945:149;;:::o;1100:344::-;1178:3;1206:39;1239:5;1206:39;:::i;:::-;1261:61;1315:6;1310:3;1261:61;:::i;:::-;1254:68;;1331:52;1376:6;1371:3;1364:4;1357:5;1353:16;1331:52;:::i;:::-;1408:29;1430:6;1408:29;:::i;:::-;1403:3;1399:39;1392:46;;1182:262;1100:344;;;;:::o;1450:366::-;1592:3;1613:67;1677:2;1672:3;1613:67;:::i;:::-;1606:74;;1689:93;1778:3;1689:93;:::i;:::-;1807:2;1802:3;1798:12;1791:19;;1450:366;;;:::o;1884:676::-;2001:3;2037:4;2032:3;2028:14;2124:4;2117:5;2113:16;2107:23;2177:3;2171:4;2167:14;2160:4;2155:3;2151:14;2144:38;2203:73;2271:4;2257:12;2203:73;:::i;:::-;2195:81;;2052:235;2370:4;2363:5;2359:16;2353:23;2423:3;2417:4;2413:14;2406:4;2401:3;2397:14;2390:38;2449:73;2517:4;2503:12;2449:73;:::i;:::-;2441:81;;2297:236;2550:4;2543:11;;2006:554;1884:676;;;;:::o;2634:618::-;2759:3;2795:4;2790:3;2786:14;2884:4;2877:5;2873:16;2867:23;2903:63;2960:4;2955:3;2951:14;2937:12;2903:63;:::i;:::-;2810:166;3062:4;3055:5;3051:16;3045:23;3115:3;3109:4;3105:14;3098:4;3093:3;3089:14;3082:38;3141:73;3209:4;3195:12;3141:73;:::i;:::-;3133:81;;2986:239;3242:4;3235:11;;2764:488;2634:618;;;;:::o;3258:108::-;3335:24;3353:5;3335:24;:::i;:::-;3330:3;3323:37;3258:108;;:::o;3372:350::-;3502:4;3540:2;3529:9;3525:18;3517:26;;3553:71;3621:1;3610:9;3606:17;3597:6;3553:71;:::i;:::-;3634:81;3711:2;3700:9;3696:18;3687:6;3634:81;:::i;:::-;3372:350;;;;;:::o;3728:419::-;3894:4;3932:2;3921:9;3917:18;3909:26;;3981:9;3975:4;3971:20;3967:1;3956:9;3952:17;3945:47;4009:131;4135:4;4009:131;:::i;:::-;4001:139;;3728:419;;;:::o;4153:369::-;4294:4;4332:2;4321:9;4317:18;4309:26;;4381:9;4375:4;4371:20;4367:1;4356:9;4352:17;4345:47;4409:106;4510:4;4501:6;4409:106;:::i;:::-;4401:114;;4153:369;;;;:::o;4528:385::-;4677:4;4715:2;4704:9;4700:18;4692:26;;4764:9;4758:4;4754:20;4750:1;4739:9;4735:17;4728:47;4792:114;4901:4;4892:6;4792:114;:::i;:::-;4784:122;;4528:385;;;;:::o;5000:99::-;5052:6;5086:5;5080:12;5070:22;;5000:99;;;:::o;5105:159::-;5179:11;5213:6;5208:3;5201:19;5253:4;5248:3;5244:14;5229:29;;5105:159;;;;:::o;5270:169::-;5354:11;5388:6;5383:3;5376:19;5428:4;5423:3;5419:14;5404:29;;5270:169;;;;:::o;5445:96::-;5482:7;5511:24;5529:5;5511:24;:::i;:::-;5500:35;;5445:96;;;:::o;5547:133::-;5595:7;5624:5;5613:16;;5630:44;5668:5;5630:44;:::i;:::-;5547:133;;;:::o;5686:126::-;5723:7;5763:42;5756:5;5752:54;5741:65;;5686:126;;;:::o;5818:77::-;5855:7;5884:5;5873:16;;5818:77;;;:::o;5901:133::-;5960:9;5993:35;6022:5;5993:35;:::i;:::-;5980:48;;5901:133;;;:::o;6040:307::-;6108:1;6118:113;6132:6;6129:1;6126:13;6118:113;;;6217:1;6212:3;6208:11;6202:18;6198:1;6193:3;6189:11;6182:39;6154:2;6151:1;6147:10;6142:15;;6118:113;;;6249:6;6246:1;6243:13;6240:101;;;6329:1;6320:6;6315:3;6311:16;6304:27;6240:101;6089:258;6040:307;;;:::o;6353:320::-;6397:6;6434:1;6428:4;6424:12;6414:22;;6481:1;6475:4;6471:12;6502:18;6492:81;;6558:4;6550:6;6546:17;6536:27;;6492:81;6620:2;6612:6;6609:14;6589:18;6586:38;6583:84;;;6639:18;;:::i;:::-;6583:84;6404:269;6353:320;;;:::o;6679:180::-;6727:77;6724:1;6717:88;6824:4;6821:1;6814:15;6848:4;6845:1;6838:15;6865:180;6913:77;6910:1;6903:88;7010:4;7007:1;7000:15;7034:4;7031:1;7024:15;7174:117;7283:1;7280;7273:12;7297:102;7338:6;7389:2;7385:7;7380:2;7373:5;7369:14;7365:28;7355:38;;7297:102;;;:::o;7405:180::-;7545:32;7541:1;7533:6;7529:14;7522:56;7405:180;:::o;7591:116::-;7675:1;7668:5;7665:12;7655:46;;7681:18;;:::i;:::-;7655:46;7591:116;:::o;7713:122::-;7786:24;7804:5;7786:24;:::i;:::-;7779:5;7776:35;7766:63;;7825:1;7822;7815:12;7766:63;7713:122;:::o;7841:110::-;7925:1;7918:5;7915:12;7905:40;;7941:1;7938;7931:12;7905:40;7841:110;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "677600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"getBasicInfo()": "infinite",
"getPersonalInfo()": "infinite",
"registerUser(uint8,address)": "27269"
}
},
"methodIdentifiers": {
"getBasicInfo()": "9f999da3",
"getPersonalInfo()": "81f539ff",
"registerUser(uint8,address)": "9f0010fc"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "email",
"type": "string"
},
{
"internalType": "uint256",
"name": "salary",
"type": "uint256"
},
{
"internalType": "string",
"name": "_address",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "enum Identity.UserType",
"name": "userType",
"type": "uint8"
}
],
"name": "UserUnauthorized",
"type": "error"
},
{
"inputs": [],
"name": "getBasicInfo",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "email",
"type": "string"
}
],
"internalType": "struct Identity.BasicInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPersonalInfo",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "salary",
"type": "uint256"
},
{
"internalType": "string",
"name": "_address",
"type": "string"
}
],
"internalType": "struct Identity.PersonalInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum Identity.UserType",
"name": "userType",
"type": "uint8"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "registerUser",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "email",
"type": "string"
},
{
"internalType": "uint256",
"name": "salary",
"type": "uint256"
},
{
"internalType": "string",
"name": "_address",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "enum Identity.UserType",
"name": "userType",
"type": "uint8"
}
],
"name": "UserUnauthorized",
"type": "error"
},
{
"inputs": [],
"name": "getBasicInfo",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "email",
"type": "string"
}
],
"internalType": "struct Identity.BasicInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPersonalInfo",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "salary",
"type": "uint256"
},
{
"internalType": "string",
"name": "_address",
"type": "string"
}
],
"internalType": "struct Identity.PersonalInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum Identity.UserType",
"name": "userType",
"type": "uint8"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "registerUser",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Identity.sol": "Identity"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Identity.sol": {
"keccak256": "0x60cce8665d80d5ab4c05020f8a09c93846f3af2355a573d1a9b0c8bdf186d761",
"license": "GPL-3.0",
"urls": [
"bzz-raw://972d57c4a6615b4daac300304e5a4054f33d2aeb3ebf4483c8bb7dde8ef26b33",
"dweb:/ipfs/QmQF91dnyYZLQW354jHjRWB7tg21dKnD6HmbJtZRz3cGyy"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 SWAP15 RETURNDATACOPY 0xDA SLT JUMP 0xD2 EXTCODESIZE DUP8 0xB3 0xDD 0x4F MLOAD REVERT ISZERO SWAP10 0xDD 0xA5 SWAP16 0xE 0xD4 ISZERO CODECOPY 0xF9 LOG0 0xB3 DELEGATECALL DUP7 0xD8 DUP3 0x2C SSTORE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:31:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220939e3eda1256d23b87b3dd4f51fd1599dda59f0ed41539f9a0b3f486d8822c5564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 SWAP15 RETURNDATACOPY 0xDA SLT JUMP 0xD2 EXTCODESIZE DUP8 0xB3 0xDD 0x4F MLOAD REVERT ISZERO SWAP10 0xDD 0xA5 SWAP16 0xE 0xD4 ISZERO CODECOPY 0xF9 LOG0 0xB3 DELEGATECALL DUP7 0xD8 DUP3 0x2C SSTORE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:31:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Identity.sol": "Identiy"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Identity.sol": {
"keccak256": "0xac24f1fe6ae1e332a1182f7c36c5c37091f0ce34d0a5252f480025a34b82c080",
"license": "GPL-3.0",
"urls": [
"bzz-raw://29cb7111a6ed65db350b76c4b46fa14b407b957a5e80b0b33d577f4d1816a543",
"dweb:/ipfs/QmPCXXmAV6ZtKvyjupePFW7zJzqiYUFGCWwJ935PGpYZ32"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_49": {
"entryPoint": null,
"id": 49,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 131,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 152,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 197,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 207,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 212,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1048:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:1"
},
"nodeType": "YulFunctionCall",
"src": "89:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "111:26:1"
},
"nodeType": "YulFunctionCall",
"src": "111:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:1",
"type": ""
}
],
"src": "7:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "233:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "279:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "281:77:1"
},
"nodeType": "YulFunctionCall",
"src": "281:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "281:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "254:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "263:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "250:3:1"
},
"nodeType": "YulFunctionCall",
"src": "250:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "275:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "246:3:1"
},
"nodeType": "YulFunctionCall",
"src": "246:32:1"
},
"nodeType": "YulIf",
"src": "243:119:1"
},
{
"nodeType": "YulBlock",
"src": "372:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "387:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "391:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "416:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "462:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "473:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "482:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "426:31:1"
},
"nodeType": "YulFunctionCall",
"src": "426:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "416:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "203:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "214:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "226:6:1",
"type": ""
}
],
"src": "156:351:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "553:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "563:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "579:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "573:5:1"
},
"nodeType": "YulFunctionCall",
"src": "573:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "563:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "546:6:1",
"type": ""
}
],
"src": "513:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "639:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "649:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "660:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "649:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "621:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "631:7:1",
"type": ""
}
],
"src": "594:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "766:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "783:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "786:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "776:6:1"
},
"nodeType": "YulFunctionCall",
"src": "776:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "776:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "677:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "889:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "906:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "909:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "899:6:1"
},
"nodeType": "YulFunctionCall",
"src": "899:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "899:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "800:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "966:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1023:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1032:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1035:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1025:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1025:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "989:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1014:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "996:17:1"
},
"nodeType": "YulFunctionCall",
"src": "996:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "986:2:1"
},
"nodeType": "YulFunctionCall",
"src": "986:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "979:6:1"
},
"nodeType": "YulFunctionCall",
"src": "979:43:1"
},
"nodeType": "YulIf",
"src": "976:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "959:5:1",
"type": ""
}
],
"src": "923:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516105a43803806105a483398181016040528101906100329190610098565b8060008190555080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550506100eb565b600081519050610092816100d4565b92915050565b6000602082840312156100ae576100ad6100cf565b5b60006100bc84828501610083565b91505092915050565b6000819050919050565b600080fd5b6100dd816100c5565b81146100e857600080fd5b50565b6104aa806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306fdde031461006757806318160ddd14610085578063313ce567146100a357806370a08231146100c157806395d89b41146100f1578063a9059cbb1461010f575b600080fd5b61006f61013f565b60405161007c9190610334565b60405180910390f35b61008d61017c565b60405161009a9190610356565b60405180910390f35b6100ab610185565b6040516100b89190610371565b60405180910390f35b6100db60048036038101906100d69190610246565b61018e565b6040516100e89190610356565b60405180910390f35b6100f96101d7565b6040516101069190610334565b60405180910390f35b61012960048036038101906101249190610273565b610214565b6040516101369190610319565b60405180910390f35b60606040518060400160405280600681526020017f456e657276610000000000000000000000000000000000000000000000000000815250905090565b60008054905090565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606040518060400160405280600381526020017f454e560000000000000000000000000000000000000000000000000000000000815250905090565b600092915050565b60008135905061022b81610446565b92915050565b6000813590506102408161045d565b92915050565b60006020828403121561025c5761025b610430565b5b600061026a8482850161021c565b91505092915050565b6000806040838503121561028a57610289610430565b5b60006102988582860161021c565b92505060206102a985828601610231565b9150509250929050565b6102bc816103ba565b82525050565b60006102cd8261038c565b6102d78185610397565b93506102e78185602086016103fd565b6102f081610435565b840191505092915050565b610304816103e6565b82525050565b610313816103f0565b82525050565b600060208201905061032e60008301846102b3565b92915050565b6000602082019050818103600083015261034e81846102c2565b905092915050565b600060208201905061036b60008301846102fb565b92915050565b6000602082019050610386600083018461030a565b92915050565b600081519050919050565b600082825260208201905092915050565b60006103b3826103c6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561041b578082015181840152602081019050610400565b8381111561042a576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b61044f816103a8565b811461045a57600080fd5b50565b610466816103e6565b811461047157600080fd5b5056fea2646970667358221220794d07081a4bf745415219ba2b6f951ecc7c1939ea713e6fcfdb7ead84c430a564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x5A4 CODESIZE SUB DUP1 PUSH2 0x5A4 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x98 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 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 DUP2 SWAP1 SSTORE POP POP PUSH2 0xEB JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x92 DUP2 PUSH2 0xD4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAE JUMPI PUSH2 0xAD PUSH2 0xCF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xBC DUP5 DUP3 DUP6 ADD PUSH2 0x83 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD DUP2 PUSH2 0xC5 JUMP JUMPDEST DUP2 EQ PUSH2 0xE8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x4AA DUP1 PUSH2 0xFA 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x17C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x246 JUMP JUMPDEST PUSH2 0x18E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x129 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x273 JUMP JUMPDEST PUSH2 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x136 SWAP2 SWAP1 PUSH2 0x319 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP 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 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x22B DUP2 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x240 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH2 0x25B PUSH2 0x430 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x26A DUP5 DUP3 DUP6 ADD PUSH2 0x21C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28A JUMPI PUSH2 0x289 PUSH2 0x430 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x298 DUP6 DUP3 DUP7 ADD PUSH2 0x21C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2A9 DUP6 DUP3 DUP7 ADD PUSH2 0x231 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BC DUP2 PUSH2 0x3BA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP3 PUSH2 0x38C JUMP JUMPDEST PUSH2 0x2D7 DUP2 DUP6 PUSH2 0x397 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3FD JUMP JUMPDEST PUSH2 0x2F0 DUP2 PUSH2 0x435 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x304 DUP2 PUSH2 0x3E6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x313 DUP2 PUSH2 0x3F0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2B3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34E DUP2 DUP5 PUSH2 0x2C2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x386 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 DUP3 PUSH2 0x3C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x41B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x400 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x42A JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x3A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x45A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x466 DUP2 PUSH2 0x3E6 JUMP JUMPDEST DUP2 EQ PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0x4D07081A4BF745415219BA2B6F951ECC7C1939EA713E6FCFDB7E 0xAD DUP5 0xC4 ADDRESS 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:1169:0:-:0;;;511:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;573:5;552:18;:26;;;;612:5;589:8;:20;598:10;589:20;;;;;;;;;;;;;;;:28;;;;511:114;74:1169;;7:143:1;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;594:77::-;631:7;660:5;649:16;;594:77;;;:::o;800:117::-;909:1;906;899:12;923:122;996:24;1014:5;996:24;:::i;:::-;989:5;986:35;976:63;;1035:1;1032;1025:12;976:63;923:122;:::o;74:1169:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@balanceOf_93": {
"entryPoint": 398,
"id": 93,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_73": {
"entryPoint": 389,
"id": 73,
"parameterSlots": 0,
"returnSlots": 1
},
"@name_57": {
"entryPoint": 319,
"id": 57,
"parameterSlots": 0,
"returnSlots": 1
},
"@symbol_65": {
"entryPoint": 471,
"id": 65,
"parameterSlots": 0,
"returnSlots": 1
},
"@totalSupply_81": {
"entryPoint": 380,
"id": 81,
"parameterSlots": 0,
"returnSlots": 1
},
"@transfer_103": {
"entryPoint": 532,
"id": 103,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 540,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 561,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 582,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 627,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 691,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 706,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 763,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 778,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 793,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 820,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 854,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 881,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 908,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 919,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 936,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 954,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 966,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 998,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 1008,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 1021,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1072,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1077,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 1094,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1117,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4608:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "204:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:1"
},
"nodeType": "YulFunctionCall",
"src": "223:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:1"
},
"nodeType": "YulFunctionCall",
"src": "252:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:1",
"type": ""
}
],
"src": "152:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "363:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "409:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "411:77:1"
},
"nodeType": "YulFunctionCall",
"src": "411:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "411:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "384:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "393:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "380:3:1"
},
"nodeType": "YulFunctionCall",
"src": "380:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "405:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "376:3:1"
},
"nodeType": "YulFunctionCall",
"src": "376:32:1"
},
"nodeType": "YulIf",
"src": "373:119:1"
},
{
"nodeType": "YulBlock",
"src": "502:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "517:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "521:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "333:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "344:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "356:6:1",
"type": ""
}
],
"src": "297:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "715:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "761:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "763:77:1"
},
"nodeType": "YulFunctionCall",
"src": "763:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "763:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "736:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "745:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "732:3:1"
},
"nodeType": "YulFunctionCall",
"src": "732:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "757:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "728:32:1"
},
"nodeType": "YulIf",
"src": "725:119:1"
},
{
"nodeType": "YulBlock",
"src": "854:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "869:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "883:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "873:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "898:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "933:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "944:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "929:3:1"
},
"nodeType": "YulFunctionCall",
"src": "929:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "953:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "908:20:1"
},
"nodeType": "YulFunctionCall",
"src": "908:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "898:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "981:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "996:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1010:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1000:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1026:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1061:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1072:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1057:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1057:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1081:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1036:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "677:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "688:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "700:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "708:6:1",
"type": ""
}
],
"src": "632:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1171:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1188:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1208:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1193:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1193:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1181:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1181:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1181:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1159:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1166:3:1",
"type": ""
}
],
"src": "1112:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1319:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1329:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1376:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1343:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1333:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1391:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1457:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1462:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1398:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1398:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1391:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1504:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1511:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1500:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1500:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1518:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1523:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1478:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1478:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1478:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1539:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1550:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1577:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1555:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1555:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1546:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1539:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1300:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1307:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1315:3:1",
"type": ""
}
],
"src": "1227:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1662:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1679:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1702:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1684:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1684:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1672:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1672:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1672:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1650:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1657:3:1",
"type": ""
}
],
"src": "1597:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1782:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1799:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1820:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "1804:15:1"
},
"nodeType": "YulFunctionCall",
"src": "1804:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1792:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1792:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "1792:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1770:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1777:3:1",
"type": ""
}
],
"src": "1721:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1931:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1941:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1953:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1964:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1949:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1949:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1941:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2015:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2028:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2039:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2024:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2024:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1977:37:1"
},
"nodeType": "YulFunctionCall",
"src": "1977:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1977:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1903:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1915:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1926:4:1",
"type": ""
}
],
"src": "1839:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2173:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2183:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2195:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2206:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2191:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2191:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2183:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2230:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2241:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2226:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2249:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2255:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2245:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2245:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2219:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2219:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2219:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2275:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2347:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2356:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2283:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2283:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2275:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2145:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2157:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2168:4:1",
"type": ""
}
],
"src": "2055:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2472:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2482:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2494:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2505:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2490:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2490:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2482:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2562:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2575:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2586:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2571:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2571:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2518:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2518:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2518:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2444:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2456:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2467:4:1",
"type": ""
}
],
"src": "2374:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2696:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2706:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2718:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2729:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2714:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2714:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2706:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2782:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2795:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2806:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2791:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "2742:39:1"
},
"nodeType": "YulFunctionCall",
"src": "2742:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "2742:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2668:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2680:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2691:4:1",
"type": ""
}
],
"src": "2602:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2862:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2872:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2888:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2882:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2882:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2872:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2855:6:1",
"type": ""
}
],
"src": "2822:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2962:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2973:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2989:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2983:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2983:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2973:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2945:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2955:6:1",
"type": ""
}
],
"src": "2903:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3104:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3121:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3126:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3114:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3114:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3114:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3142:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3161:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3166:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3157:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3157:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3142:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3076:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3081:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3092:11:1",
"type": ""
}
],
"src": "3008:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3228:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3238:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3267:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3249:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3249:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3238:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3210:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3220:7:1",
"type": ""
}
],
"src": "3183:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3327:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3337:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3362:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3355:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3355:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3348:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3348:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3337:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3309:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3319:7:1",
"type": ""
}
],
"src": "3285:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3426:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3436:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3451:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3458:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3447:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3447:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3436:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3408:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3418:7:1",
"type": ""
}
],
"src": "3381:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3558:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3568:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3579:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3568:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3540:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3550:7:1",
"type": ""
}
],
"src": "3513:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3639:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3649:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3664:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3671:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3660:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3660:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3649:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3621:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3631:7:1",
"type": ""
}
],
"src": "3596:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3737:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3747:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3756:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "3751:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3816:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3841:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3846:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3837:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3860:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3865:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3856:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3856:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3850:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3850:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3830:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3830:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3830:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3777:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3780:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3774:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3774:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3788:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3790:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3799:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3802:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3795:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3790:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "3770:3:1",
"statements": []
},
"src": "3766:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3913:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3963:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3968:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3959:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3959:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3977:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3952:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3952:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3952:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3894:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3897:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3891:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3891:13:1"
},
"nodeType": "YulIf",
"src": "3888:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3719:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3724:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3729:6:1",
"type": ""
}
],
"src": "3688:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4090:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4107:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4110:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4100:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4100:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "4001:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4213:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4230:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4233:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4223:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4223:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4223:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "4124:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4295:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4305:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4323:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4330:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4319:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4319:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4339:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4335:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4335:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4315:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4315:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "4305:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4278:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "4288:6:1",
"type": ""
}
],
"src": "4247:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4398:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4455:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4467:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4457:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4457:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4421:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4446:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4428:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4428:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4418:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4418:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4411:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4411:43:1"
},
"nodeType": "YulIf",
"src": "4408:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4391:5:1",
"type": ""
}
],
"src": "4355:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4526:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4583:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4592:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4595:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4585:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4585:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4585:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4549:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4574:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4556:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4556:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4546:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4546:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4539:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4539:43:1"
},
"nodeType": "YulIf",
"src": "4536:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4519:5:1",
"type": ""
}
],
"src": "4483:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c806306fdde031461006757806318160ddd14610085578063313ce567146100a357806370a08231146100c157806395d89b41146100f1578063a9059cbb1461010f575b600080fd5b61006f61013f565b60405161007c9190610334565b60405180910390f35b61008d61017c565b60405161009a9190610356565b60405180910390f35b6100ab610185565b6040516100b89190610371565b60405180910390f35b6100db60048036038101906100d69190610246565b61018e565b6040516100e89190610356565b60405180910390f35b6100f96101d7565b6040516101069190610334565b60405180910390f35b61012960048036038101906101249190610273565b610214565b6040516101369190610319565b60405180910390f35b60606040518060400160405280600681526020017f456e657276610000000000000000000000000000000000000000000000000000815250905090565b60008054905090565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606040518060400160405280600381526020017f454e560000000000000000000000000000000000000000000000000000000000815250905090565b600092915050565b60008135905061022b81610446565b92915050565b6000813590506102408161045d565b92915050565b60006020828403121561025c5761025b610430565b5b600061026a8482850161021c565b91505092915050565b6000806040838503121561028a57610289610430565b5b60006102988582860161021c565b92505060206102a985828601610231565b9150509250929050565b6102bc816103ba565b82525050565b60006102cd8261038c565b6102d78185610397565b93506102e78185602086016103fd565b6102f081610435565b840191505092915050565b610304816103e6565b82525050565b610313816103f0565b82525050565b600060208201905061032e60008301846102b3565b92915050565b6000602082019050818103600083015261034e81846102c2565b905092915050565b600060208201905061036b60008301846102fb565b92915050565b6000602082019050610386600083018461030a565b92915050565b600081519050919050565b600082825260208201905092915050565b60006103b3826103c6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561041b578082015181840152602081019050610400565b8381111561042a576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b61044f816103a8565b811461045a57600080fd5b50565b610466816103e6565b811461047157600080fd5b5056fea2646970667358221220794d07081a4bf745415219ba2b6f951ecc7c1939ea713e6fcfdb7ead84c430a564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0xC1 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x17C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD6 SWAP2 SWAP1 PUSH2 0x246 JUMP JUMPDEST PUSH2 0x18E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x334 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x129 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x273 JUMP JUMPDEST PUSH2 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x136 SWAP2 SWAP1 PUSH2 0x319 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP 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 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x22B DUP2 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x240 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH2 0x25B PUSH2 0x430 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x26A DUP5 DUP3 DUP6 ADD PUSH2 0x21C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28A JUMPI PUSH2 0x289 PUSH2 0x430 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x298 DUP6 DUP3 DUP7 ADD PUSH2 0x21C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2A9 DUP6 DUP3 DUP7 ADD PUSH2 0x231 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BC DUP2 PUSH2 0x3BA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP3 PUSH2 0x38C JUMP JUMPDEST PUSH2 0x2D7 DUP2 DUP6 PUSH2 0x397 JUMP JUMPDEST SWAP4 POP PUSH2 0x2E7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3FD JUMP JUMPDEST PUSH2 0x2F0 DUP2 PUSH2 0x435 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x304 DUP2 PUSH2 0x3E6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x313 DUP2 PUSH2 0x3F0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2B3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34E DUP2 DUP5 PUSH2 0x2C2 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2FB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x386 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 DUP3 PUSH2 0x3C6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x41B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x400 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x42A JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x3A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x45A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x466 DUP2 PUSH2 0x3E6 JUMP JUMPDEST DUP2 EQ PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0x4D07081A4BF745415219BA2B6F951ECC7C1939EA713E6FCFDB7E 0xAD DUP5 0xC4 ADDRESS 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "74:1169:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;923:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;829:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1027:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;731:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1143:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;637:86;673:13;706:9;;;;;;;;;;;;;;;;;699:16;;637:86;:::o;923:96::-;966:7;993:18;;986:25;;923:96;:::o;829:86::-;869:5;240:2;887:20;;829:86;:::o;1027:108::-;1084:7;1111:8;:16;1120:6;1111:16;;;;;;;;;;;;;;;;1104:23;;1027:108;;;:::o;731:90::-;769:13;802:11;;;;;;;;;;;;;;;;;795:18;;731:90;:::o;1143:95::-;1206:12;1143:95;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:109::-;1193:21;1208:5;1193:21;:::i;:::-;1188:3;1181:34;1112:109;;:::o;1227:364::-;1315:3;1343:39;1376:5;1343:39;:::i;:::-;1398:71;1462:6;1457:3;1398:71;:::i;:::-;1391:78;;1478:52;1523:6;1518:3;1511:4;1504:5;1500:16;1478:52;:::i;:::-;1555:29;1577:6;1555:29;:::i;:::-;1550:3;1546:39;1539:46;;1319:272;1227:364;;;;:::o;1597:118::-;1684:24;1702:5;1684:24;:::i;:::-;1679:3;1672:37;1597:118;;:::o;1721:112::-;1804:22;1820:5;1804:22;:::i;:::-;1799:3;1792:35;1721:112;;:::o;1839:210::-;1926:4;1964:2;1953:9;1949:18;1941:26;;1977:65;2039:1;2028:9;2024:17;2015:6;1977:65;:::i;:::-;1839:210;;;;:::o;2055:313::-;2168:4;2206:2;2195:9;2191:18;2183:26;;2255:9;2249:4;2245:20;2241:1;2230:9;2226:17;2219:47;2283:78;2356:4;2347:6;2283:78;:::i;:::-;2275:86;;2055:313;;;;:::o;2374:222::-;2467:4;2505:2;2494:9;2490:18;2482:26;;2518:71;2586:1;2575:9;2571:17;2562:6;2518:71;:::i;:::-;2374:222;;;;:::o;2602:214::-;2691:4;2729:2;2718:9;2714:18;2706:26;;2742:67;2806:1;2795:9;2791:17;2782:6;2742:67;:::i;:::-;2602:214;;;;:::o;2903:99::-;2955:6;2989:5;2983:12;2973:22;;2903:99;;;:::o;3008:169::-;3092:11;3126:6;3121:3;3114:19;3166:4;3161:3;3157:14;3142:29;;3008:169;;;;:::o;3183:96::-;3220:7;3249:24;3267:5;3249:24;:::i;:::-;3238:35;;3183:96;;;:::o;3285:90::-;3319:7;3362:5;3355:13;3348:21;3337:32;;3285:90;;;:::o;3381:126::-;3418:7;3458:42;3451:5;3447:54;3436:65;;3381:126;;;:::o;3513:77::-;3550:7;3579:5;3568:16;;3513:77;;;:::o;3596:86::-;3631:7;3671:4;3664:5;3660:16;3649:27;;3596:86;;;:::o;3688:307::-;3756:1;3766:113;3780:6;3777:1;3774:13;3766:113;;;3865:1;3860:3;3856:11;3850:18;3846:1;3841:3;3837:11;3830:39;3802:2;3799:1;3795:10;3790:15;;3766:113;;;3897:6;3894:1;3891:13;3888:101;;;3977:1;3968:6;3963:3;3959:16;3952:27;3888:101;3737:258;3688:307;;;:::o;4124:117::-;4233:1;4230;4223:12;4247:102;4288:6;4339:2;4335:7;4330:2;4323:5;4319:14;4315:28;4305:38;;4247:102;;;:::o;4355:122::-;4428:24;4446:5;4428:24;:::i;:::-;4421:5;4418:35;4408:63;;4467:1;4464;4457:12;4408:63;4355:122;:::o;4483:::-;4556:24;4574:5;4556:24;:::i;:::-;4549:5;4546:35;4536:63;;4595:1;4592;4585:12;4536:63;4483:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "238800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"balanceOf(address)": "2885",
"decimals()": "365",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "2437",
"transfer(address,uint256)": "910"
}
},
"methodIdentifiers": {
"balanceOf(address)": "70a08231",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/MyToken.sol": "MyToken"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/MyToken.sol": {
"keccak256": "0xa050b6771785c57f6109d78bdbf223fb91a4410bf7175134c8798b9a99ff1ac6",
"license": "GPL-3.0",
"urls": [
"bzz-raw://ca505340a53ad92a33dba8f9373bfc0277dcd246ad7fc94cf250a38eda65c1ee",
"dweb:/ipfs/QmWhRVFZFv2NPLVbcEYv1vNzwPF9UsLuZ23iCbuv4HbrF5"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Authentication {
mapping( address => bool ) public users;
function authenticate () public {
users[msg.sender] = true;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract FinanceService {
string public constant name = "PlatziCoin";
string public constant symbol = "PZC";
uint8 public constant decimals = 18;
uint256 _totalSupply;
mapping(address => uint256) balances;
mapping(address => mapping(address => uint256)) allowed;
event Transfer(
address indexed _from,
address indexed _to,
uint256 _value
);
event Approval(
address indexed _owner,
address indexed _spender,
uint256 _value
);
constructor(uint256 total) {
_totalSupply = total;
balances[msg.sender] = total;
}
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
function transfer(address _to, uint256 _value) public returns (bool success) {
require(
_value <= balances[msg.sender],
"There are not enough funds to do the transfer"
);
balances[msg.sender] = balances[msg.sender] - _value;
balances[_to] = balances[_to] + _value;
emit Transfer(msg.sender, _to, _value);
success = true;
}
function approve(address _spender, uint256 _value) public returns (bool success) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
success = true;
}
function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
remaining = allowed[_owner][_spender];
}
function transferFrom(
address _from,
address _to,
uint256 _value
) public returns (bool success) {
require(
_value <= balances[_from],
"There are not enough funds to do the transfer"
);
require(
_value <= allowed[_from][msg.sender],
"Sender not allowed"
);
balances[_from] = balances[_from] - _value;
allowed[_from][msg.sender] = allowed[_from][msg.sender] - _value;
balances[_to] = balances[_to] + _value;
emit Transfer(_from, _to, _value);
success = true;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Identity {
struct BasicInfo {
string name;
string email;
}
struct PersonalInfo {
uint256 salary;
string _address;
}
enum UserType {
Basic,
Personal
}
error UserUnauthorized(address user, UserType userType);
BasicInfo private basicInfo;
PersonalInfo private personalInfo;
address private owner;
mapping(address => bool) private basicUsers;
mapping(address => bool) private personalUsers;
constructor(
string memory name,
string memory email,
uint256 salary,
string memory _address
) {
basicInfo = BasicInfo(name, email);
personalInfo = PersonalInfo(salary, _address);
owner = msg.sender;
}
modifier authorizeUser(UserType userType) {
if (msg.sender == owner || personalUsers[msg.sender]) {
_;
} else if (userType == UserType.Basic && basicUsers[msg.sender]) {
_;
} else {
revert UserUnauthorized(msg.sender, userType);
}
}
modifier onlyOwner() {
require(
msg.sender == owner,
"Only owner can authorize users"
);
_;
}
function getBasicInfo()
public
view
authorizeUser(UserType.Basic)
returns (BasicInfo memory)
{
return basicInfo;
}
function getPersonalInfo()
public
view
authorizeUser(UserType.Personal)
returns (PersonalInfo memory)
{
return personalInfo;
}
function registerUser(UserType userType, address user) public onlyOwner {
if (userType == UserType.Basic) {
basicUsers[user] = true;
} else if (userType == UserType.Personal) {
personalUsers[user] = true;
}
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract MyToken {
string private constant tokenName = "Enerva";
string private constant tokenSymbol = "ENV";
uint8 private constant countDecimals = 18;
uint256 private totalSupplyBalance;
mapping( address => uint256 ) balances;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
constructor ( uint256 total ) {
totalSupplyBalance = total;
balances[msg.sender] = total;
}
function name() public pure returns(string memory) {
return tokenName;
}
function symbol() public pure returns(string memory) {
return tokenSymbol;
}
function decimals() public pure returns(uint8) {
return countDecimals;
}
function totalSupply() public view returns(uint256) {
return totalSupplyBalance;
}
function balanceOf( address _owner ) public view returns(uint256) {
return balances[_owner];
}
function transfer(address _to, uint256 _value) public returns (bool success) {
}
}
This file has been truncated, but you can view the full file.
{
"id": "1314d8b0ada990867432a3a80abcccd4",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/MyToken.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\n\r\ncontract MyToken {\r\n\r\n string public constant tokenName = \"Enerva\";\r\n string public constant tokenSymbol = \"ENV\";\r\n uint8 public constant decimals = 18;\r\n\r\n \r\n function name() public pure returns(string memory) {\r\n return tokenName;\r\n }\r\n\r\n function symbol() public pure returns(string memory) {\r\n return tokenSymbol;\r\n }\r\n\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/MyToken.sol": {
"MyToken": {
"abi": [
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "tokenName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenSymbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/MyToken.sol\":74:438 contract MyToken {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/MyToken.sol\":74:438 contract MyToken {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x06fdde03\n eq\n tag_3\n jumpi\n dup1\n 0x313ce567\n eq\n tag_4\n jumpi\n dup1\n 0x6c02a931\n eq\n tag_5\n jumpi\n dup1\n 0x7b61c320\n eq\n tag_6\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/MyToken.sol\":249:335 function name() public pure returns(string memory) {\r... */\n tag_3:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n tag_4:\n tag_12\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n tag_14\n swap2\n swap1\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":100:143 string public constant tokenName = \"Enerva\" */\n tag_5:\n tag_16\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_11\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":150:192 string public constant tokenSymbol = \"ENV\" */\n tag_6:\n tag_19\n tag_20\n jump\t// in\n tag_19:\n mload(0x40)\n tag_21\n swap2\n swap1\n tag_11\n jump\t// in\n tag_21:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":343:433 function symbol() public pure returns(string memory) {\r... */\n tag_7:\n tag_22\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_11\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/MyToken.sol\":249:335 function name() public pure returns(string memory) {\r... */\n tag_9:\n /* \"contracts/MyToken.sol\":285:298 string memory */\n 0x60\n /* \"contracts/MyToken.sol\":318:327 tokenName */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x06\n dup2\n mstore\n 0x20\n add\n 0x456e657276610000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/MyToken.sol\":311:327 return tokenName */\n swap1\n pop\n /* \"contracts/MyToken.sol\":249:335 function name() public pure returns(string memory) {\r... */\n swap1\n jump\t// out\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n tag_13:\n /* \"contracts/MyToken.sol\":232:234 18 */\n 0x12\n /* \"contracts/MyToken.sol\":199:234 uint8 public constant decimals = 18 */\n dup2\n jump\t// out\n /* \"contracts/MyToken.sol\":100:143 string public constant tokenName = \"Enerva\" */\n tag_17:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x06\n dup2\n mstore\n 0x20\n add\n 0x456e657276610000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/MyToken.sol\":150:192 string public constant tokenSymbol = \"ENV\" */\n tag_20:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x454e560000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/MyToken.sol\":343:433 function symbol() public pure returns(string memory) {\r... */\n tag_23:\n /* \"contracts/MyToken.sol\":381:394 string memory */\n 0x60\n /* \"contracts/MyToken.sol\":414:425 tokenSymbol */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x454e560000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/MyToken.sol\":407:425 return tokenSymbol */\n swap1\n pop\n /* \"contracts/MyToken.sol\":343:433 function symbol() public pure returns(string memory) {\r... */\n swap1\n jump\t// out\n /* \"#utility.yul\":7:371 */\n tag_28:\n /* \"#utility.yul\":95:98 */\n 0x00\n /* \"#utility.yul\":123:162 */\n tag_30\n /* \"#utility.yul\":156:161 */\n dup3\n /* \"#utility.yul\":123:162 */\n tag_31\n jump\t// in\n tag_30:\n /* \"#utility.yul\":178:249 */\n tag_32\n /* \"#utility.yul\":242:248 */\n dup2\n /* \"#utility.yul\":237:240 */\n dup6\n /* \"#utility.yul\":178:249 */\n tag_33\n jump\t// in\n tag_32:\n /* \"#utility.yul\":171:249 */\n swap4\n pop\n /* \"#utility.yul\":258:310 */\n tag_34\n /* \"#utility.yul\":303:309 */\n dup2\n /* \"#utility.yul\":298:301 */\n dup6\n /* \"#utility.yul\":291:295 */\n 0x20\n /* \"#utility.yul\":284:289 */\n dup7\n /* \"#utility.yul\":280:296 */\n add\n /* \"#utility.yul\":258:310 */\n tag_35\n jump\t// in\n tag_34:\n /* \"#utility.yul\":335:364 */\n tag_36\n /* \"#utility.yul\":357:363 */\n dup2\n /* \"#utility.yul\":335:364 */\n tag_37\n jump\t// in\n tag_36:\n /* \"#utility.yul\":330:333 */\n dup5\n /* \"#utility.yul\":326:365 */\n add\n /* \"#utility.yul\":319:365 */\n swap2\n pop\n /* \"#utility.yul\":99:371 */\n pop\n /* \"#utility.yul\":7:371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":377:489 */\n tag_38:\n /* \"#utility.yul\":460:482 */\n tag_40\n /* \"#utility.yul\":476:481 */\n dup2\n /* \"#utility.yul\":460:482 */\n tag_41\n jump\t// in\n tag_40:\n /* \"#utility.yul\":455:458 */\n dup3\n /* \"#utility.yul\":448:483 */\n mstore\n /* \"#utility.yul\":377:489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":495:808 */\n tag_11:\n /* \"#utility.yul\":608:612 */\n 0x00\n /* \"#utility.yul\":646:648 */\n 0x20\n /* \"#utility.yul\":635:644 */\n dup3\n /* \"#utility.yul\":631:649 */\n add\n /* \"#utility.yul\":623:649 */\n swap1\n pop\n /* \"#utility.yul\":695:704 */\n dup2\n /* \"#utility.yul\":689:693 */\n dup2\n /* \"#utility.yul\":685:705 */\n sub\n /* \"#utility.yul\":681:682 */\n 0x00\n /* \"#utility.yul\":670:679 */\n dup4\n /* \"#utility.yul\":666:683 */\n add\n /* \"#utility.yul\":659:706 */\n mstore\n /* \"#utility.yul\":723:801 */\n tag_43\n /* \"#utility.yul\":796:800 */\n dup2\n /* \"#utility.yul\":787:793 */\n dup5\n /* \"#utility.yul\":723:801 */\n tag_28\n jump\t// in\n tag_43:\n /* \"#utility.yul\":715:801 */\n swap1\n pop\n /* \"#utility.yul\":495:808 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":814:1028 */\n tag_15:\n /* \"#utility.yul\":903:907 */\n 0x00\n /* \"#utility.yul\":941:943 */\n 0x20\n /* \"#utility.yul\":930:939 */\n dup3\n /* \"#utility.yul\":926:944 */\n add\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":954:1021 */\n tag_45\n /* \"#utility.yul\":1018:1019 */\n 0x00\n /* \"#utility.yul\":1007:1016 */\n dup4\n /* \"#utility.yul\":1003:1020 */\n add\n /* \"#utility.yul\":994:1000 */\n dup5\n /* \"#utility.yul\":954:1021 */\n tag_38\n jump\t// in\n tag_45:\n /* \"#utility.yul\":814:1028 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1034:1133 */\n tag_31:\n /* \"#utility.yul\":1086:1092 */\n 0x00\n /* \"#utility.yul\":1120:1125 */\n dup2\n /* \"#utility.yul\":1114:1126 */\n mload\n /* \"#utility.yul\":1104:1126 */\n swap1\n pop\n /* \"#utility.yul\":1034:1133 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1139:1308 */\n tag_33:\n /* \"#utility.yul\":1223:1234 */\n 0x00\n /* \"#utility.yul\":1257:1263 */\n dup3\n /* \"#utility.yul\":1252:1255 */\n dup3\n /* \"#utility.yul\":1245:1264 */\n mstore\n /* \"#utility.yul\":1297:1301 */\n 0x20\n /* \"#utility.yul\":1292:1295 */\n dup3\n /* \"#utility.yul\":1288:1302 */\n add\n /* \"#utility.yul\":1273:1302 */\n swap1\n pop\n /* \"#utility.yul\":1139:1308 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1314:1400 */\n tag_41:\n /* \"#utility.yul\":1349:1356 */\n 0x00\n /* \"#utility.yul\":1389:1393 */\n 0xff\n /* \"#utility.yul\":1382:1387 */\n dup3\n /* \"#utility.yul\":1378:1394 */\n and\n /* \"#utility.yul\":1367:1394 */\n swap1\n pop\n /* \"#utility.yul\":1314:1400 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1406:1713 */\n tag_35:\n /* \"#utility.yul\":1474:1475 */\n 0x00\n /* \"#utility.yul\":1484:1597 */\n tag_50:\n /* \"#utility.yul\":1498:1504 */\n dup4\n /* \"#utility.yul\":1495:1496 */\n dup2\n /* \"#utility.yul\":1492:1505 */\n lt\n /* \"#utility.yul\":1484:1597 */\n iszero\n tag_52\n jumpi\n /* \"#utility.yul\":1583:1584 */\n dup1\n /* \"#utility.yul\":1578:1581 */\n dup3\n /* \"#utility.yul\":1574:1585 */\n add\n /* \"#utility.yul\":1568:1586 */\n mload\n /* \"#utility.yul\":1564:1565 */\n dup2\n /* \"#utility.yul\":1559:1562 */\n dup5\n /* \"#utility.yul\":1555:1566 */\n add\n /* \"#utility.yul\":1548:1587 */\n mstore\n /* \"#utility.yul\":1520:1522 */\n 0x20\n /* \"#utility.yul\":1517:1518 */\n dup2\n /* \"#utility.yul\":1513:1523 */\n add\n /* \"#utility.yul\":1508:1523 */\n swap1\n pop\n /* \"#utility.yul\":1484:1597 */\n jump(tag_50)\n tag_52:\n /* \"#utility.yul\":1615:1621 */\n dup4\n /* \"#utility.yul\":1612:1613 */\n dup2\n /* \"#utility.yul\":1609:1622 */\n gt\n /* \"#utility.yul\":1606:1707 */\n iszero\n tag_53\n jumpi\n /* \"#utility.yul\":1695:1696 */\n 0x00\n /* \"#utility.yul\":1686:1692 */\n dup5\n /* \"#utility.yul\":1681:1684 */\n dup5\n /* \"#utility.yul\":1677:1693 */\n add\n /* \"#utility.yul\":1670:1697 */\n mstore\n /* \"#utility.yul\":1606:1707 */\n tag_53:\n /* \"#utility.yul\":1455:1713 */\n pop\n /* \"#utility.yul\":1406:1713 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1719:1821 */\n tag_37:\n /* \"#utility.yul\":1760:1766 */\n 0x00\n /* \"#utility.yul\":1811:1813 */\n 0x1f\n /* \"#utility.yul\":1807:1814 */\n not\n /* \"#utility.yul\":1802:1804 */\n 0x1f\n /* \"#utility.yul\":1795:1800 */\n dup4\n /* \"#utility.yul\":1791:1805 */\n add\n /* \"#utility.yul\":1787:1815 */\n and\n /* \"#utility.yul\":1777:1815 */\n swap1\n pop\n /* \"#utility.yul\":1719:1821 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122027428b3f89ffa1f321abfed3d23deef0dcb938052b1d53c7ac3efca17c997a9a64736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061030b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806306fdde031461005c578063313ce5671461007a5780636c02a931146100985780637b61c320146100b657806395d89b41146100d4575b600080fd5b6100646100f2565b604051610071919061022b565b60405180910390f35b61008261012f565b60405161008f919061024d565b60405180910390f35b6100a0610134565b6040516100ad919061022b565b60405180910390f35b6100be61016d565b6040516100cb919061022b565b60405180910390f35b6100dc6101a6565b6040516100e9919061022b565b60405180910390f35b60606040518060400160405280600681526020017f456e657276610000000000000000000000000000000000000000000000000000815250905090565b601281565b6040518060400160405280600681526020017f456e65727661000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600381526020017f454e56000000000000000000000000000000000000000000000000000000000081525081565b60606040518060400160405280600381526020017f454e560000000000000000000000000000000000000000000000000000000000815250905090565b60006101ee82610268565b6101f88185610273565b9350610208818560208601610291565b610211816102c4565b840191505092915050565b61022581610284565b82525050565b6000602082019050818103600083015261024581846101e3565b905092915050565b6000602082019050610262600083018461021c565b92915050565b600081519050919050565b600082825260208201905092915050565b600060ff82169050919050565b60005b838110156102af578082015181840152602081019050610294565b838111156102be576000848401525b50505050565b6000601f19601f830116905091905056fea264697066735822122027428b3f89ffa1f321abfed3d23deef0dcb938052b1d53c7ac3efca17c997a9a64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30B DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6C02A931 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x7B61C320 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xD4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x12F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA0 PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0x16D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDC PUSH2 0x1A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EE DUP3 PUSH2 0x268 JUMP JUMPDEST PUSH2 0x1F8 DUP2 DUP6 PUSH2 0x273 JUMP JUMPDEST SWAP4 POP PUSH2 0x208 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x291 JUMP JUMPDEST PUSH2 0x211 DUP2 PUSH2 0x2C4 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x225 DUP2 PUSH2 0x284 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x245 DUP2 DUP5 PUSH2 0x1E3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x262 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2AF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x294 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2BE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x27 TIMESTAMP DUP12 EXTCODEHASH DUP10 SELFDESTRUCT LOG1 RETURN 0x21 0xAB INVALID 0xD3 0xD2 RETURNDATASIZE 0xEE CREATE 0xDC 0xB9 CODESIZE SDIV 0x2B SAR MSTORE8 0xC7 0xAC RETURNDATACOPY 0xFC LOG1 PUSH29 0x997A9A64736F6C63430008070033000000000000000000000000000000 ",
"sourceMap": "74:364:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@decimals_10": {
"entryPoint": 303,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@name_18": {
"entryPoint": 242,
"id": 18,
"parameterSlots": 0,
"returnSlots": 1
},
"@symbol_26": {
"entryPoint": 422,
"id": 26,
"parameterSlots": 0,
"returnSlots": 1
},
"@tokenName_4": {
"entryPoint": 308,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@tokenSymbol_7": {
"entryPoint": 365,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 483,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 540,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 555,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 589,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 616,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 627,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 644,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 657,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 708,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1824:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "99:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "109:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "156:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "123:32:1"
},
"nodeType": "YulFunctionCall",
"src": "123:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "113:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "171:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "242:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "178:58:1"
},
"nodeType": "YulFunctionCall",
"src": "178:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "171:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "284:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "280:3:1"
},
"nodeType": "YulFunctionCall",
"src": "280:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "298:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "303:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "258:21:1"
},
"nodeType": "YulFunctionCall",
"src": "258:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "258:52:1"
},
{
"nodeType": "YulAssignment",
"src": "319:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "357:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "335:21:1"
},
"nodeType": "YulFunctionCall",
"src": "335:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "326:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "319:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "80:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "87:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "95:3:1",
"type": ""
}
],
"src": "7:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "438:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "476:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nodeType": "YulIdentifier",
"src": "460:15:1"
},
"nodeType": "YulFunctionCall",
"src": "460:22:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "448:6:1"
},
"nodeType": "YulFunctionCall",
"src": "448:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "448:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "426:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "433:3:1",
"type": ""
}
],
"src": "377:112:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "613:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "623:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "635:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "646:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "631:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "623:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "670:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "681:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "666:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "689:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "695:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "685:3:1"
},
"nodeType": "YulFunctionCall",
"src": "685:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "659:6:1"
},
"nodeType": "YulFunctionCall",
"src": "659:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "659:47:1"
},
{
"nodeType": "YulAssignment",
"src": "715:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "787:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "796:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "723:63:1"
},
"nodeType": "YulFunctionCall",
"src": "723:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "715:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "585:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "597:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "608:4:1",
"type": ""
}
],
"src": "495:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "908:120:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "930:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "994:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1007:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1018:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1003:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1003:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "954:39:1"
},
"nodeType": "YulFunctionCall",
"src": "954:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "954:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "880:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "892:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "903:4:1",
"type": ""
}
],
"src": "814:214:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1093:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1104:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1120:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1114:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1104:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1076:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1086:6:1",
"type": ""
}
],
"src": "1034:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1257:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1245:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1245:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1273:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1292:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1297:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1288:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1273:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1207:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1212:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1223:11:1",
"type": ""
}
],
"src": "1139:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1357:43:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1367:27:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1382:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1378:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1378:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1367:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1339:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1349:7:1",
"type": ""
}
],
"src": "1314:86:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1455:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1465:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1474:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1469:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1534:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1559:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1564:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1555:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1578:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1583:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1574:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1574:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1568:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1568:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1548:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1548:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1548:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1495:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1498:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1492:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1492:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1506:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1508:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1517:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1520:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1513:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1508:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1488:3:1",
"statements": []
},
"src": "1484:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1631:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1681:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1686:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1677:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1695:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1670:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1612:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1615:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1609:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1609:13:1"
},
"nodeType": "YulIf",
"src": "1606:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1437:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1442:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1447:6:1",
"type": ""
}
],
"src": "1406:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1767:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1777:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1795:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1802:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1791:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1811:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1807:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1807:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1787:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1777:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1750:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1760:6:1",
"type": ""
}
],
"src": "1719:102:1"
}
]
},
"contents": "{\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c806306fdde031461005c578063313ce5671461007a5780636c02a931146100985780637b61c320146100b657806395d89b41146100d4575b600080fd5b6100646100f2565b604051610071919061022b565b60405180910390f35b61008261012f565b60405161008f919061024d565b60405180910390f35b6100a0610134565b6040516100ad919061022b565b60405180910390f35b6100be61016d565b6040516100cb919061022b565b60405180910390f35b6100dc6101a6565b6040516100e9919061022b565b60405180910390f35b60606040518060400160405280600681526020017f456e657276610000000000000000000000000000000000000000000000000000815250905090565b601281565b6040518060400160405280600681526020017f456e65727661000000000000000000000000000000000000000000000000000081525081565b6040518060400160405280600381526020017f454e56000000000000000000000000000000000000000000000000000000000081525081565b60606040518060400160405280600381526020017f454e560000000000000000000000000000000000000000000000000000000000815250905090565b60006101ee82610268565b6101f88185610273565b9350610208818560208601610291565b610211816102c4565b840191505092915050565b61022581610284565b82525050565b6000602082019050818103600083015261024581846101e3565b905092915050565b6000602082019050610262600083018461021c565b92915050565b600081519050919050565b600082825260208201905092915050565b600060ff82169050919050565b60005b838110156102af578082015181840152602081019050610294565b838111156102be576000848401525b50505050565b6000601f19601f830116905091905056fea264697066735822122027428b3f89ffa1f321abfed3d23deef0dcb938052b1d53c7ac3efca17c997a9a64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6C02A931 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x7B61C320 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0xD4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xF2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x12F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA0 PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH2 0x16D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDC PUSH2 0x1A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x456E657276610000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x454E560000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EE DUP3 PUSH2 0x268 JUMP JUMPDEST PUSH2 0x1F8 DUP2 DUP6 PUSH2 0x273 JUMP JUMPDEST SWAP4 POP PUSH2 0x208 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x291 JUMP JUMPDEST PUSH2 0x211 DUP2 PUSH2 0x2C4 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x225 DUP2 PUSH2 0x284 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x245 DUP2 DUP5 PUSH2 0x1E3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x262 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x21C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2AF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x294 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2BE JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x27 TIMESTAMP DUP12 EXTCODEHASH DUP10 SELFDESTRUCT LOG1 RETURN 0x21 0xAB INVALID 0xD3 0xD2 RETURNDATASIZE 0xEE CREATE 0xDC 0xB9 CODESIZE SDIV 0x2B SAR MSTORE8 0xC7 0xAC RETURNDATACOPY 0xFC LOG1 PUSH29 0x997A9A64736F6C63430008070033000000000000000000000000000000 ",
"sourceMap": "74:364:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;199:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;100:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;150:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;343:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;249:86;285:13;318:9;;;;;;;;;;;;;;;;;311:16;;249:86;:::o;199:35::-;232:2;199:35;:::o;100:43::-;;;;;;;;;;;;;;;;;;;:::o;150:42::-;;;;;;;;;;;;;;;;;;;:::o;343:90::-;381:13;414:11;;;;;;;;;;;;;;;;;407:18;;343:90;:::o;7:364:1:-;95:3;123:39;156:5;123:39;:::i;:::-;178:71;242:6;237:3;178:71;:::i;:::-;171:78;;258:52;303:6;298:3;291:4;284:5;280:16;258:52;:::i;:::-;335:29;357:6;335:29;:::i;:::-;330:3;326:39;319:46;;99:272;7:364;;;;:::o;377:112::-;460:22;476:5;460:22;:::i;:::-;455:3;448:35;377:112;;:::o;495:313::-;608:4;646:2;635:9;631:18;623:26;;695:9;689:4;685:20;681:1;670:9;666:17;659:47;723:78;796:4;787:6;723:78;:::i;:::-;715:86;;495:313;;;;:::o;814:214::-;903:4;941:2;930:9;926:18;918:26;;954:67;1018:1;1007:9;1003:17;994:6;954:67;:::i;:::-;814:214;;;;:::o;1034:99::-;1086:6;1120:5;1114:12;1104:22;;1034:99;;;:::o;1139:169::-;1223:11;1257:6;1252:3;1245:19;1297:4;1292:3;1288:14;1273:29;;1139:169;;;;:::o;1314:86::-;1349:7;1389:4;1382:5;1378:16;1367:27;;1314:86;;;:::o;1406:307::-;1474:1;1484:113;1498:6;1495:1;1492:13;1484:113;;;1583:1;1578:3;1574:11;1568:18;1564:1;1559:3;1555:11;1548:39;1520:2;1517:1;1513:10;1508:15;;1484:113;;;1615:6;1612:1;1609:13;1606:101;;;1695:1;1686:6;1681:3;1677:16;1670:27;1606:101;1455:258;1406:307;;;:::o;1719:102::-;1760:6;1811:2;1807:7;1802:2;1795:5;1791:14;1787:28;1777:38;;1719:102;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "155800",
"executionCost": "202",
"totalCost": "156002"
},
"external": {
"decimals()": "335",
"name()": "infinite",
"symbol()": "infinite",
"tokenName()": "infinite",
"tokenSymbol()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 438,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "ISZERO",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "REVERT",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 438,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "POP",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "CODECOPY",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122027428b3f89ffa1f321abfed3d23deef0dcb938052b1d53c7ac3efca17c997a9a64736f6c63430008070033",
".code": [
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 74,
"end": 438,
"name": "MSTORE",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "ISZERO",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "REVERT",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 74,
"end": 438,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "POP",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 74,
"end": 438,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "LT",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 74,
"end": 438,
"name": "SHR",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "6FDDE03"
},
{
"begin": 74,
"end": 438,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "313CE567"
},
{
"begin": 74,
"end": 438,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "6C02A931"
},
{
"begin": 74,
"end": 438,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "7B61C320"
},
{
"begin": 74,
"end": 438,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "95D89B41"
},
{
"begin": 74,
"end": 438,
"name": "EQ",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 74,
"end": 438,
"name": "JUMPI",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 74,
"end": 438,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 74,
"end": 438,
"name": "DUP1",
"source": 0
},
{
"begin": 74,
"end": 438,
"name": "REVERT",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 249,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 249,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 249,
"end": 335,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 249,
"end": 335,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 249,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 249,
"end": 335,
"name": "MLOAD",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 249,
"end": 335,
"name": "SWAP2",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 249,
"end": 335,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 249,
"end": 335,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 249,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 249,
"end": 335,
"name": "MLOAD",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "DUP1",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "SWAP2",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "SUB",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "RETURN",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 199,
"end": 234,
"name": "MLOAD",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 199,
"end": 234,
"name": "SWAP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 199,
"end": 234,
"name": "MLOAD",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "DUP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SUB",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "SWAP1",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "RETURN",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 100,
"end": 143,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SUB",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "RETURN",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 150,
"end": 192,
"name": "SWAP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SUB",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "SWAP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "RETURN",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 343,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 343,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 343,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 343,
"end": 433,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 343,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 343,
"end": 433,
"name": "MLOAD",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 343,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 343,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 343,
"end": 433,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 343,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 343,
"end": 433,
"name": "MLOAD",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "DUP1",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "SWAP2",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "SUB",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "RETURN",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 249,
"end": 335,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 285,
"end": 298,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 318,
"end": 327,
"name": "MLOAD",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "DUP1",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 318,
"end": 327,
"name": "ADD",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 318,
"end": 327,
"name": "MSTORE",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "DUP1",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "6"
},
{
"begin": 318,
"end": 327,
"name": "DUP2",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "MSTORE",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 318,
"end": 327,
"name": "ADD",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "PUSH",
"source": 0,
"value": "456E657276610000000000000000000000000000000000000000000000000000"
},
{
"begin": 318,
"end": 327,
"name": "DUP2",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "MSTORE",
"source": 0
},
{
"begin": 318,
"end": 327,
"name": "POP",
"source": 0
},
{
"begin": 311,
"end": 327,
"name": "SWAP1",
"source": 0
},
{
"begin": 311,
"end": 327,
"name": "POP",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 335,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 199,
"end": 234,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 199,
"end": 234,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 232,
"end": 234,
"name": "PUSH",
"source": 0,
"value": "12"
},
{
"begin": 199,
"end": 234,
"name": "DUP2",
"source": 0
},
{
"begin": 199,
"end": 234,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 100,
"end": 143,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 100,
"end": 143,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "ADD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "6"
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 100,
"end": 143,
"name": "ADD",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "PUSH",
"source": 0,
"value": "456E657276610000000000000000000000000000000000000000000000000000"
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "MSTORE",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "POP",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "DUP2",
"source": 0
},
{
"begin": 100,
"end": 143,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 150,
"end": 192,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 150,
"end": 192,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MLOAD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "ADD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP1",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 150,
"end": 192,
"name": "ADD",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "PUSH",
"source": 0,
"value": "454E560000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "MSTORE",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "POP",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "DUP2",
"source": 0
},
{
"begin": 150,
"end": 192,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 343,
"end": 433,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 343,
"end": 433,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 381,
"end": 394,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 414,
"end": 425,
"name": "MLOAD",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "DUP1",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 414,
"end": 425,
"name": "ADD",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 414,
"end": 425,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "DUP1",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 414,
"end": 425,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 414,
"end": 425,
"name": "ADD",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "PUSH",
"source": 0,
"value": "454E560000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 414,
"end": 425,
"name": "DUP2",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "MSTORE",
"source": 0
},
{
"begin": 414,
"end": 425,
"name": "POP",
"source": 0
},
{
"begin": 407,
"end": 425,
"name": "SWAP1",
"source": 0
},
{
"begin": 407,
"end": 425,
"name": "POP",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "SWAP1",
"source": 0
},
{
"begin": 343,
"end": 433,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 371,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 7,
"end": 371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 95,
"end": 98,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 123,
"end": 162,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 156,
"end": 161,
"name": "DUP3",
"source": 1
},
{
"begin": 123,
"end": 162,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 123,
"end": 162,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 123,
"end": 162,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 123,
"end": 162,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 178,
"end": 249,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 242,
"end": 248,
"name": "DUP2",
"source": 1
},
{
"begin": 237,
"end": 240,
"name": "DUP6",
"source": 1
},
{
"begin": 178,
"end": 249,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 178,
"end": 249,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 178,
"end": 249,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 178,
"end": 249,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 171,
"end": 249,
"name": "SWAP4",
"source": 1
},
{
"begin": 171,
"end": 249,
"name": "POP",
"source": 1
},
{
"begin": 258,
"end": 310,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 303,
"end": 309,
"name": "DUP2",
"source": 1
},
{
"begin": 298,
"end": 301,
"name": "DUP6",
"source": 1
},
{
"begin": 291,
"end": 295,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 284,
"end": 289,
"name": "DUP7",
"source": 1
},
{
"begin": 280,
"end": 296,
"name": "ADD",
"source": 1
},
{
"begin": 258,
"end": 310,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 258,
"end": 310,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 258,
"end": 310,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 258,
"end": 310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 335,
"end": 364,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 357,
"end": 363,
"name": "DUP2",
"source": 1
},
{
"begin": 335,
"end": 364,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 335,
"end": 364,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 335,
"end": 364,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 335,
"end": 364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 330,
"end": 333,
"name": "DUP5",
"source": 1
},
{
"begin": 326,
"end": 365,
"name": "ADD",
"source": 1
},
{
"begin": 319,
"end": 365,
"name": "SWAP2",
"source": 1
},
{
"begin": 319,
"end": 365,
"name": "POP",
"source": 1
},
{
"begin": 99,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 371,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 377,
"end": 489,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 377,
"end": 489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 460,
"end": 482,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 476,
"end": 481,
"name": "DUP2",
"source": 1
},
{
"begin": 460,
"end": 482,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 460,
"end": 482,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 460,
"end": 482,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 460,
"end": 482,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 455,
"end": 458,
"name": "DUP3",
"source": 1
},
{
"begin": 448,
"end": 483,
"name": "MSTORE",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "POP",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "POP",
"source": 1
},
{
"begin": 377,
"end": 489,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 495,
"end": 808,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 495,
"end": 808,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 608,
"end": 612,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 646,
"end": 648,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 635,
"end": 644,
"name": "DUP3",
"source": 1
},
{
"begin": 631,
"end": 649,
"name": "ADD",
"source": 1
},
{
"begin": 623,
"end": 649,
"name": "SWAP1",
"source": 1
},
{
"begin": 623,
"end": 649,
"name": "POP",
"source": 1
},
{
"begin": 695,
"end": 704,
"name": "DUP2",
"source": 1
},
{
"begin": 689,
"end": 693,
"name": "DUP2",
"source": 1
},
{
"begin": 685,
"end": 705,
"name": "SUB",
"source": 1
},
{
"begin": 681,
"end": 682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 670,
"end": 679,
"name": "DUP4",
"source": 1
},
{
"begin": 666,
"end": 683,
"name": "ADD",
"source": 1
},
{
"begin": 659,
"end": 706,
"name": "MSTORE",
"source": 1
},
{
"begin": 723,
"end": 801,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 796,
"end": 800,
"name": "DUP2",
"source": 1
},
{
"begin": 787,
"end": 793,
"name": "DUP5",
"source": 1
},
{
"begin": 723,
"end": 801,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 723,
"end": 801,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 723,
"end": 801,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 723,
"end": 801,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 715,
"end": 801,
"name": "SWAP1",
"source": 1
},
{
"begin": 715,
"end": 801,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "SWAP3",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "SWAP2",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "POP",
"source": 1
},
{
"begin": 495,
"end": 808,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 814,
"end": 1028,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 814,
"end": 1028,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 903,
"end": 907,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 941,
"end": 943,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 930,
"end": 939,
"name": "DUP3",
"source": 1
},
{
"begin": 926,
"end": 944,
"name": "ADD",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "SWAP1",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "POP",
"source": 1
},
{
"begin": 954,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1018,
"end": 1019,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1007,
"end": 1016,
"name": "DUP4",
"source": 1
},
{
"begin": 1003,
"end": 1020,
"name": "ADD",
"source": 1
},
{
"begin": 994,
"end": 1000,
"name": "DUP5",
"source": 1
},
{
"begin": 954,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 954,
"end": 1021,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 954,
"end": 1021,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 954,
"end": 1021,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "SWAP3",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "SWAP2",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "POP",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "POP",
"source": 1
},
{
"begin": 814,
"end": 1028,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1034,
"end": 1133,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 1034,
"end": 1133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1086,
"end": 1092,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1120,
"end": 1125,
"name": "DUP2",
"source": 1
},
{
"begin": 1114,
"end": 1126,
"name": "MLOAD",
"source": 1
},
{
"begin": 1104,
"end": 1126,
"name": "SWAP1",
"source": 1
},
{
"begin": 1104,
"end": 1126,
"name": "POP",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "SWAP2",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "SWAP1",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "POP",
"source": 1
},
{
"begin": 1034,
"end": 1133,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1139,
"end": 1308,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 1139,
"end": 1308,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1223,
"end": 1234,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1257,
"end": 1263,
"name": "DUP3",
"source": 1
},
{
"begin": 1252,
"end": 1255,
"name": "DUP3",
"source": 1
},
{
"begin": 1245,
"end": 1264,
"name": "MSTORE",
"source": 1
},
{
"begin": 1297,
"end": 1301,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1292,
"end": 1295,
"name": "DUP3",
"source": 1
},
{
"begin": 1288,
"end": 1302,
"name": "ADD",
"source": 1
},
{
"begin": 1273,
"end": 1302,
"name": "SWAP1",
"source": 1
},
{
"begin": 1273,
"end": 1302,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "SWAP3",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "SWAP2",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "POP",
"source": 1
},
{
"begin": 1139,
"end": 1308,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1314,
"end": 1400,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1314,
"end": 1400,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1349,
"end": 1356,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1389,
"end": 1393,
"name": "PUSH",
"source": 1,
"value": "FF"
},
{
"begin": 1382,
"end": 1387,
"name": "DUP3",
"source": 1
},
{
"begin": 1378,
"end": 1394,
"name": "AND",
"source": 1
},
{
"begin": 1367,
"end": 1394,
"name": "SWAP1",
"source": 1
},
{
"begin": 1367,
"end": 1394,
"name": "POP",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "SWAP2",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "SWAP1",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "POP",
"source": 1
},
{
"begin": 1314,
"end": 1400,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1406,
"end": 1713,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 1406,
"end": 1713,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1474,
"end": 1475,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1484,
"end": 1597,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1498,
"end": 1504,
"name": "DUP4",
"source": 1
},
{
"begin": 1495,
"end": 1496,
"name": "DUP2",
"source": 1
},
{
"begin": 1492,
"end": 1505,
"name": "LT",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "ISZERO",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPI",
"source": 1
},
{
"begin": 1583,
"end": 1584,
"name": "DUP1",
"source": 1
},
{
"begin": 1578,
"end": 1581,
"name": "DUP3",
"source": 1
},
{
"begin": 1574,
"end": 1585,
"name": "ADD",
"source": 1
},
{
"begin": 1568,
"end": 1586,
"name": "MLOAD",
"source": 1
},
{
"begin": 1564,
"end": 1565,
"name": "DUP2",
"source": 1
},
{
"begin": 1559,
"end": 1562,
"name": "DUP5",
"source": 1
},
{
"begin": 1555,
"end": 1566,
"name": "ADD",
"source": 1
},
{
"begin": 1548,
"end": 1587,
"name": "MSTORE",
"source": 1
},
{
"begin": 1520,
"end": 1522,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1517,
"end": 1518,
"name": "DUP2",
"source": 1
},
{
"begin": 1513,
"end": 1523,
"name": "ADD",
"source": 1
},
{
"begin": 1508,
"end": 1523,
"name": "SWAP1",
"source": 1
},
{
"begin": 1508,
"end": 1523,
"name": "POP",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMP",
"source": 1
},
{
"begin": 1484,
"end": 1597,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 1484,
"end": 1597,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1615,
"end": 1621,
"name": "DUP4",
"source": 1
},
{
"begin": 1612,
"end": 1613,
"name": "DUP2",
"source": 1
},
{
"begin": 1609,
"end": 1622,
"name": "GT",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "ISZERO",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 1606,
"end": 1707,
"name": "JUMPI",
"source": 1
},
{
"begin": 1695,
"end": 1696,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1686,
"end": 1692,
"name": "DUP5",
"source": 1
},
{
"begin": 1681,
"end": 1684,
"name": "DUP5",
"source": 1
},
{
"begin": 1677,
"end": 1693,
"name": "ADD",
"source": 1
},
{
"begin": 1670,
"end": 1697,
"name": "MSTORE",
"source": 1
},
{
"begin": 1606,
"end": 1707,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 1606,
"end": 1707,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1455,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "POP",
"source": 1
},
{
"begin": 1406,
"end": 1713,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1719,
"end": 1821,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1719,
"end": 1821,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1760,
"end": 1766,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1811,
"end": 1813,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1807,
"end": 1814,
"name": "NOT",
"source": 1
},
{
"begin": 1802,
"end": 1804,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1795,
"end": 1800,
"name": "DUP4",
"source": 1
},
{
"begin": 1791,
"end": 1805,
"name": "ADD",
"source": 1
},
{
"begin": 1787,
"end": 1815,
"name": "AND",
"source": 1
},
{
"begin": 1777,
"end": 1815,
"name": "SWAP1",
"source": 1
},
{
"begin": 1777,
"end": 1815,
"name": "POP",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "SWAP2",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "SWAP1",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "POP",
"source": 1
},
{
"begin": 1719,
"end": 1821,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"tokenName()": "6c02a931",
"tokenSymbol()": "7b61c320"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/MyToken.sol\":\"MyToken\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/MyToken.sol\":{\"keccak256\":\"0x6f66e44234d2ec24050dc898b74869d900181d141df2e3c34e6b1201960dfd8d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f8e60143b7bcdc984a32184c909c5318e9dd210194bdd17b189bc96d6c3f1779\",\"dweb:/ipfs/QmRN4dt7Wf8Ua4rMG1BmDeDDNQJBrikTNAnVMFkAcPvbuv\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/MyToken.sol": {
"ast": {
"absolutePath": "contracts/MyToken.sol",
"exportedSymbols": {
"MyToken": [
27
]
},
"id": 28,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "39:31:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 27,
"linearizedBaseContracts": [
27
],
"name": "MyToken",
"nameLocation": "83:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "6c02a931",
"id": 4,
"mutability": "constant",
"name": "tokenName",
"nameLocation": "123:9:0",
"nodeType": "VariableDeclaration",
"scope": 27,
"src": "100:43:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "100:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "456e65727661",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "135:8:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6cc5164e273a9620506a48a58c2837960a4396f9d8e8d47ff0dcbe740c86defa",
"typeString": "literal_string \"Enerva\""
},
"value": "Enerva"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "7b61c320",
"id": 7,
"mutability": "constant",
"name": "tokenSymbol",
"nameLocation": "173:11:0",
"nodeType": "VariableDeclaration",
"scope": 27,
"src": "150:42:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "150:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "454e56",
"id": 6,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "187:5:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_945848973c49a2df65bbc4d45faf2cd7c4aef8a23b6e31edb2b76ce1538b6855",
"typeString": "literal_string \"ENV\""
},
"value": "ENV"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "313ce567",
"id": 10,
"mutability": "constant",
"
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment