You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

12060 lines
426 KiB

{
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_188": {
"entryPoint": null,
"id": 188,
"parameterSlots": 2,
"returnSlots": 0
},
"@_855": {
"entryPoint": null,
"id": 855,
"parameterSlots": 0,
"returnSlots": 0
},
"@_mint_491": {
"entryPoint": 240,
"id": 491,
"parameterSlots": 2,
"returnSlots": 0
},
"@_update_458": {
"entryPoint": 378,
"id": 458,
"parameterSlots": 3,
"returnSlots": 0
},
"@decimals_215": {
"entryPoint": 232,
"id": 215,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2363,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2465,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2380,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 2482,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2541,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1078,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 926,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2407,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_exp_helper": {
"entryPoint": 1823,
"id": null,
"parameterSlots": 4,
"returnSlots": 2
},
"checked_exp_t_uint256_t_uint8": {
"entryPoint": 2159,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_exp_unsigned": {
"entryPoint": 1913,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 2239,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1387,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 2344,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2313,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1208,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 2147,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1349,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1226,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 1538,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1096,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1026,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1509,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1217,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1479,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1766,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 981,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 936,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1265,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1111,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_1_unsigned": {
"entryPoint": 1811,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1467,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1321,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1123,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1274,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1317,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:9836:7",
"nodeType": "YulBlock",
"src": "0:9836:7",
"statements": [
{
"body": {
"nativeSrc": "66:40:7",
"nodeType": "YulBlock",
"src": "66:40:7",
"statements": [
{
"nativeSrc": "77:22:7",
"nodeType": "YulAssignment",
"src": "77:22:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:7",
"nodeType": "YulIdentifier",
"src": "93:5:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:7",
"nodeType": "YulIdentifier",
"src": "87:5:7"
},
"nativeSrc": "87:12:7",
"nodeType": "YulFunctionCall",
"src": "87:12:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:7",
"nodeType": "YulIdentifier",
"src": "77:6:7"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:7",
"nodeType": "YulTypedName",
"src": "49:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:7",
"nodeType": "YulTypedName",
"src": "59:6:7",
"type": ""
}
],
"src": "7:99:7"
},
{
"body": {
"nativeSrc": "140:152:7",
"nodeType": "YulBlock",
"src": "140:152:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "157:1:7",
"nodeType": "YulLiteral",
"src": "157:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "160:77:7",
"nodeType": "YulLiteral",
"src": "160:77:7",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "150:6:7",
"nodeType": "YulIdentifier",
"src": "150:6:7"
},
"nativeSrc": "150:88:7",
"nodeType": "YulFunctionCall",
"src": "150:88:7"
},
"nativeSrc": "150:88:7",
"nodeType": "YulExpressionStatement",
"src": "150:88:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "254:1:7",
"nodeType": "YulLiteral",
"src": "254:1:7",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "257:4:7",
"nodeType": "YulLiteral",
"src": "257:4:7",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "247:6:7",
"nodeType": "YulIdentifier",
"src": "247:6:7"
},
"nativeSrc": "247:15:7",
"nodeType": "YulFunctionCall",
"src": "247:15:7"
},
"nativeSrc": "247:15:7",
"nodeType": "YulExpressionStatement",
"src": "247:15:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "278:1:7",
"nodeType": "YulLiteral",
"src": "278:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "281:4:7",
"nodeType": "YulLiteral",
"src": "281:4:7",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "271:6:7",
"nodeType": "YulIdentifier",
"src": "271:6:7"
},
"nativeSrc": "271:15:7",
"nodeType": "YulFunctionCall",
"src": "271:15:7"
},
"nativeSrc": "271:15:7",
"nodeType": "YulExpressionStatement",
"src": "271:15:7"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "112:180:7",
"nodeType": "YulFunctionDefinition",
"src": "112:180:7"
},
{
"body": {
"nativeSrc": "326:152:7",
"nodeType": "YulBlock",
"src": "326:152:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "343:1:7",
"nodeType": "YulLiteral",
"src": "343:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "346:77:7",
"nodeType": "YulLiteral",
"src": "346:77:7",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "336:6:7",
"nodeType": "YulIdentifier",
"src": "336:6:7"
},
"nativeSrc": "336:88:7",
"nodeType": "YulFunctionCall",
"src": "336:88:7"
},
"nativeSrc": "336:88:7",
"nodeType": "YulExpressionStatement",
"src": "336:88:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:7",
"nodeType": "YulLiteral",
"src": "440:1:7",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "443:4:7",
"nodeType": "YulLiteral",
"src": "443:4:7",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "433:6:7",
"nodeType": "YulIdentifier",
"src": "433:6:7"
},
"nativeSrc": "433:15:7",
"nodeType": "YulFunctionCall",
"src": "433:15:7"
},
"nativeSrc": "433:15:7",
"nodeType": "YulExpressionStatement",
"src": "433:15:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "464:1:7",
"nodeType": "YulLiteral",
"src": "464:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "467:4:7",
"nodeType": "YulLiteral",
"src": "467:4:7",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "457:6:7",
"nodeType": "YulIdentifier",
"src": "457:6:7"
},
"nativeSrc": "457:15:7",
"nodeType": "YulFunctionCall",
"src": "457:15:7"
},
"nativeSrc": "457:15:7",
"nodeType": "YulExpressionStatement",
"src": "457:15:7"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "298:180:7",
"nodeType": "YulFunctionDefinition",
"src": "298:180:7"
},
{
"body": {
"nativeSrc": "535:269:7",
"nodeType": "YulBlock",
"src": "535:269:7",
"statements": [
{
"nativeSrc": "545:22:7",
"nodeType": "YulAssignment",
"src": "545:22:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "559:4:7",
"nodeType": "YulIdentifier",
"src": "559:4:7"
},
{
"kind": "number",
"nativeSrc": "565:1:7",
"nodeType": "YulLiteral",
"src": "565:1:7",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "555:3:7",
"nodeType": "YulIdentifier",
"src": "555:3:7"
},
"nativeSrc": "555:12:7",
"nodeType": "YulFunctionCall",
"src": "555:12:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "545:6:7",
"nodeType": "YulIdentifier",
"src": "545:6:7"
}
]
},
{
"nativeSrc": "576:38:7",
"nodeType": "YulVariableDeclaration",
"src": "576:38:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "606:4:7",
"nodeType": "YulIdentifier",
"src": "606:4:7"
},
{
"kind": "number",
"nativeSrc": "612:1:7",
"nodeType": "YulLiteral",
"src": "612:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "602:3:7",
"nodeType": "YulIdentifier",
"src": "602:3:7"
},
"nativeSrc": "602:12:7",
"nodeType": "YulFunctionCall",
"src": "602:12:7"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "580:18:7",
"nodeType": "YulTypedName",
"src": "580:18:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "653:51:7",
"nodeType": "YulBlock",
"src": "653:51:7",
"statements": [
{
"nativeSrc": "667:27:7",
"nodeType": "YulAssignment",
"src": "667:27:7",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "681:6:7",
"nodeType": "YulIdentifier",
"src": "681:6:7"
},
{
"kind": "number",
"nativeSrc": "689:4:7",
"nodeType": "YulLiteral",
"src": "689:4:7",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "677:3:7",
"nodeType": "YulIdentifier",
"src": "677:3:7"
},
"nativeSrc": "677:17:7",
"nodeType": "YulFunctionCall",
"src": "677:17:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "667:6:7",
"nodeType": "YulIdentifier",
"src": "667:6:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "633:18:7",
"nodeType": "YulIdentifier",
"src": "633:18:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "626:6:7",
"nodeType": "YulIdentifier",
"src": "626:6:7"
},
"nativeSrc": "626:26:7",
"nodeType": "YulFunctionCall",
"src": "626:26:7"
},
"nativeSrc": "623:81:7",
"nodeType": "YulIf",
"src": "623:81:7"
},
{
"body": {
"nativeSrc": "756:42:7",
"nodeType": "YulBlock",
"src": "756:42:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "770:16:7",
"nodeType": "YulIdentifier",
"src": "770:16:7"
},
"nativeSrc": "770:18:7",
"nodeType": "YulFunctionCall",
"src": "770:18:7"
},
"nativeSrc": "770:18:7",
"nodeType": "YulExpressionStatement",
"src": "770:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "720:18:7",
"nodeType": "YulIdentifier",
"src": "720:18:7"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "743:6:7",
"nodeType": "YulIdentifier",
"src": "743:6:7"
},
{
"kind": "number",
"nativeSrc": "751:2:7",
"nodeType": "YulLiteral",
"src": "751:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "740:2:7",
"nodeType": "YulIdentifier",
"src": "740:2:7"
},
"nativeSrc": "740:14:7",
"nodeType": "YulFunctionCall",
"src": "740:14:7"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "717:2:7",
"nodeType": "YulIdentifier",
"src": "717:2:7"
},
"nativeSrc": "717:38:7",
"nodeType": "YulFunctionCall",
"src": "717:38:7"
},
"nativeSrc": "714:84:7",
"nodeType": "YulIf",
"src": "714:84:7"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "484:320:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "519:4:7",
"nodeType": "YulTypedName",
"src": "519:4:7",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "528:6:7",
"nodeType": "YulTypedName",
"src": "528:6:7",
"type": ""
}
],
"src": "484:320:7"
},
{
"body": {
"nativeSrc": "864:87:7",
"nodeType": "YulBlock",
"src": "864:87:7",
"statements": [
{
"nativeSrc": "874:11:7",
"nodeType": "YulAssignment",
"src": "874:11:7",
"value": {
"name": "ptr",
"nativeSrc": "882:3:7",
"nodeType": "YulIdentifier",
"src": "882:3:7"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "874:4:7",
"nodeType": "YulIdentifier",
"src": "874:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "902:1:7",
"nodeType": "YulLiteral",
"src": "902:1:7",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "905:3:7",
"nodeType": "YulIdentifier",
"src": "905:3:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "895:6:7",
"nodeType": "YulIdentifier",
"src": "895:6:7"
},
"nativeSrc": "895:14:7",
"nodeType": "YulFunctionCall",
"src": "895:14:7"
},
"nativeSrc": "895:14:7",
"nodeType": "YulExpressionStatement",
"src": "895:14:7"
},
{
"nativeSrc": "918:26:7",
"nodeType": "YulAssignment",
"src": "918:26:7",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "936:1:7",
"nodeType": "YulLiteral",
"src": "936:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "939:4:7",
"nodeType": "YulLiteral",
"src": "939:4:7",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "926:9:7",
"nodeType": "YulIdentifier",
"src": "926:9:7"
},
"nativeSrc": "926:18:7",
"nodeType": "YulFunctionCall",
"src": "926:18:7"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "918:4:7",
"nodeType": "YulIdentifier",
"src": "918:4:7"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "810:141:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "851:3:7",
"nodeType": "YulTypedName",
"src": "851:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "859:4:7",
"nodeType": "YulTypedName",
"src": "859:4:7",
"type": ""
}
],
"src": "810:141:7"
},
{
"body": {
"nativeSrc": "1001:49:7",
"nodeType": "YulBlock",
"src": "1001:49:7",
"statements": [
{
"nativeSrc": "1011:33:7",
"nodeType": "YulAssignment",
"src": "1011:33:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1029:5:7",
"nodeType": "YulIdentifier",
"src": "1029:5:7"
},
{
"kind": "number",
"nativeSrc": "1036:2:7",
"nodeType": "YulLiteral",
"src": "1036:2:7",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1025:3:7",
"nodeType": "YulIdentifier",
"src": "1025:3:7"
},
"nativeSrc": "1025:14:7",
"nodeType": "YulFunctionCall",
"src": "1025:14:7"
},
{
"kind": "number",
"nativeSrc": "1041:2:7",
"nodeType": "YulLiteral",
"src": "1041:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1021:3:7",
"nodeType": "YulIdentifier",
"src": "1021:3:7"
},
"nativeSrc": "1021:23:7",
"nodeType": "YulFunctionCall",
"src": "1021:23:7"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1011:6:7",
"nodeType": "YulIdentifier",
"src": "1011:6:7"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "957:93:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "984:5:7",
"nodeType": "YulTypedName",
"src": "984:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "994:6:7",
"nodeType": "YulTypedName",
"src": "994:6:7",
"type": ""
}
],
"src": "957:93:7"
},
{
"body": {
"nativeSrc": "1109:54:7",
"nodeType": "YulBlock",
"src": "1109:54:7",
"statements": [
{
"nativeSrc": "1119:37:7",
"nodeType": "YulAssignment",
"src": "1119:37:7",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "1144:4:7",
"nodeType": "YulIdentifier",
"src": "1144:4:7"
},
{
"name": "value",
"nativeSrc": "1150:5:7",
"nodeType": "YulIdentifier",
"src": "1150:5:7"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1140:3:7",
"nodeType": "YulIdentifier",
"src": "1140:3:7"
},
"nativeSrc": "1140:16:7",
"nodeType": "YulFunctionCall",
"src": "1140:16:7"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "1119:8:7",
"nodeType": "YulIdentifier",
"src": "1119:8:7"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "1056:107:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "1084:4:7",
"nodeType": "YulTypedName",
"src": "1084:4:7",
"type": ""
},
{
"name": "value",
"nativeSrc": "1090:5:7",
"nodeType": "YulTypedName",
"src": "1090:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "1100:8:7",
"nodeType": "YulTypedName",
"src": "1100:8:7",
"type": ""
}
],
"src": "1056:107:7"
},
{
"body": {
"nativeSrc": "1245:317:7",
"nodeType": "YulBlock",
"src": "1245:317:7",
"statements": [
{
"nativeSrc": "1255:35:7",
"nodeType": "YulVariableDeclaration",
"src": "1255:35:7",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "1276:10:7",
"nodeType": "YulIdentifier",
"src": "1276:10:7"
},
{
"kind": "number",
"nativeSrc": "1288:1:7",
"nodeType": "YulLiteral",
"src": "1288:1:7",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "1272:3:7",
"nodeType": "YulIdentifier",
"src": "1272:3:7"
},
"nativeSrc": "1272:18:7",
"nodeType": "YulFunctionCall",
"src": "1272:18:7"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "1259:9:7",
"nodeType": "YulTypedName",
"src": "1259:9:7",
"type": ""
}
]
},
{
"nativeSrc": "1299:109:7",
"nodeType": "YulVariableDeclaration",
"src": "1299:109:7",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1330:9:7",
"nodeType": "YulIdentifier",
"src": "1330:9:7"
},
{
"kind": "number",
"nativeSrc": "1341:66:7",
"nodeType": "YulLiteral",
"src": "1341:66:7",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1311:18:7",
"nodeType": "YulIdentifier",
"src": "1311:18:7"
},
"nativeSrc": "1311:97:7",
"nodeType": "YulFunctionCall",
"src": "1311:97:7"
},
"variables": [
{
"name": "mask",
"nativeSrc": "1303:4:7",
"nodeType": "YulTypedName",
"src": "1303:4:7",
"type": ""
}
]
},
{
"nativeSrc": "1417:51:7",
"nodeType": "YulAssignment",
"src": "1417:51:7",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1448:9:7",
"nodeType": "YulIdentifier",
"src": "1448:9:7"
},
{
"name": "toInsert",
"nativeSrc": "1459:8:7",
"nodeType": "YulIdentifier",
"src": "1459:8:7"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1429:18:7",
"nodeType": "YulIdentifier",
"src": "1429:18:7"
},
"nativeSrc": "1429:39:7",
"nodeType": "YulFunctionCall",
"src": "1429:39:7"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "1417:8:7",
"nodeType": "YulIdentifier",
"src": "1417:8:7"
}
]
},
{
"nativeSrc": "1477:30:7",
"nodeType": "YulAssignment",
"src": "1477:30:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1490:5:7",
"nodeType": "YulIdentifier",
"src": "1490:5:7"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "1501:4:7",
"nodeType": "YulIdentifier",
"src": "1501:4:7"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1497:3:7",
"nodeType": "YulIdentifier",
"src": "1497:3:7"
},
"nativeSrc": "1497:9:7",
"nodeType": "YulFunctionCall",
"src": "1497:9:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1486:3:7",
"nodeType": "YulIdentifier",
"src": "1486:3:7"
},
"nativeSrc": "1486:21:7",
"nodeType": "YulFunctionCall",
"src": "1486:21:7"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1477:5:7",
"nodeType": "YulIdentifier",
"src": "1477:5:7"
}
]
},
{
"nativeSrc": "1516:40:7",
"nodeType": "YulAssignment",
"src": "1516:40:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1529:5:7",
"nodeType": "YulIdentifier",
"src": "1529:5:7"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "1540:8:7",
"nodeType": "YulIdentifier",
"src": "1540:8:7"
},
{
"name": "mask",
"nativeSrc": "1550:4:7",
"nodeType": "YulIdentifier",
"src": "1550:4:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1536:3:7",
"nodeType": "YulIdentifier",
"src": "1536:3:7"
},
"nativeSrc": "1536:19:7",
"nodeType": "YulFunctionCall",
"src": "1536:19:7"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1526:2:7",
"nodeType": "YulIdentifier",
"src": "1526:2:7"
},
"nativeSrc": "1526:30:7",
"nodeType": "YulFunctionCall",
"src": "1526:30:7"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1516:6:7",
"nodeType": "YulIdentifier",
"src": "1516:6:7"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "1169:393:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1206:5:7",
"nodeType": "YulTypedName",
"src": "1206:5:7",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "1213:10:7",
"nodeType": "YulTypedName",
"src": "1213:10:7",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "1225:8:7",
"nodeType": "YulTypedName",
"src": "1225:8:7",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1238:6:7",
"nodeType": "YulTypedName",
"src": "1238:6:7",
"type": ""
}
],
"src": "1169:393:7"
},
{
"body": {
"nativeSrc": "1613:32:7",
"nodeType": "YulBlock",
"src": "1613:32:7",
"statements": [
{
"nativeSrc": "1623:16:7",
"nodeType": "YulAssignment",
"src": "1623:16:7",
"value": {
"name": "value",
"nativeSrc": "1634:5:7",
"nodeType": "YulIdentifier",
"src": "1634:5:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1623:7:7",
"nodeType": "YulIdentifier",
"src": "1623:7:7"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1568:77:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1595:5:7",
"nodeType": "YulTypedName",
"src": "1595:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1605:7:7",
"nodeType": "YulTypedName",
"src": "1605:7:7",
"type": ""
}
],
"src": "1568:77:7"
},
{
"body": {
"nativeSrc": "1683:28:7",
"nodeType": "YulBlock",
"src": "1683:28:7",
"statements": [
{
"nativeSrc": "1693:12:7",
"nodeType": "YulAssignment",
"src": "1693:12:7",
"value": {
"name": "value",
"nativeSrc": "1700:5:7",
"nodeType": "YulIdentifier",
"src": "1700:5:7"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1693:3:7",
"nodeType": "YulIdentifier",
"src": "1693:3:7"
}
]
}
]
},
"name": "identity",
"nativeSrc": "1651:60:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1669:5:7",
"nodeType": "YulTypedName",
"src": "1669:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1679:3:7",
"nodeType": "YulTypedName",
"src": "1679:3:7",
"type": ""
}
],
"src": "1651:60:7"
},
{
"body": {
"nativeSrc": "1777:82:7",
"nodeType": "YulBlock",
"src": "1777:82:7",
"statements": [
{
"nativeSrc": "1787:66:7",
"nodeType": "YulAssignment",
"src": "1787:66:7",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1845:5:7",
"nodeType": "YulIdentifier",
"src": "1845:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1827:17:7",
"nodeType": "YulIdentifier",
"src": "1827:17:7"
},
"nativeSrc": "1827:24:7",
"nodeType": "YulFunctionCall",
"src": "1827:24:7"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "1818:8:7",
"nodeType": "YulIdentifier",
"src": "1818:8:7"
},
"nativeSrc": "1818:34:7",
"nodeType": "YulFunctionCall",
"src": "1818:34:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1800:17:7",
"nodeType": "YulIdentifier",
"src": "1800:17:7"
},
"nativeSrc": "1800:53:7",
"nodeType": "YulFunctionCall",
"src": "1800:53:7"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "1787:9:7",
"nodeType": "YulIdentifier",
"src": "1787:9:7"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "1717:142:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1757:5:7",
"nodeType": "YulTypedName",
"src": "1757:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "1767:9:7",
"nodeType": "YulTypedName",
"src": "1767:9:7",
"type": ""
}
],
"src": "1717:142:7"
},
{
"body": {
"nativeSrc": "1912:28:7",
"nodeType": "YulBlock",
"src": "1912:28:7",
"statements": [
{
"nativeSrc": "1922:12:7",
"nodeType": "YulAssignment",
"src": "1922:12:7",
"value": {
"name": "value",
"nativeSrc": "1929:5:7",
"nodeType": "YulIdentifier",
"src": "1929:5:7"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1922:3:7",
"nodeType": "YulIdentifier",
"src": "1922:3:7"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "1865:75:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1898:5:7",
"nodeType": "YulTypedName",
"src": "1898:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1908:3:7",
"nodeType": "YulTypedName",
"src": "1908:3:7",
"type": ""
}
],
"src": "1865:75:7"
},
{
"body": {
"nativeSrc": "2022:193:7",
"nodeType": "YulBlock",
"src": "2022:193:7",
"statements": [
{
"nativeSrc": "2032:63:7",
"nodeType": "YulVariableDeclaration",
"src": "2032:63:7",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "2087:7:7",
"nodeType": "YulIdentifier",
"src": "2087:7:7"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "2056:30:7",
"nodeType": "YulIdentifier",
"src": "2056:30:7"
},
"nativeSrc": "2056:39:7",
"nodeType": "YulFunctionCall",
"src": "2056:39:7"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "2036:16:7",
"nodeType": "YulTypedName",
"src": "2036:16:7",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2111:4:7",
"nodeType": "YulIdentifier",
"src": "2111:4:7"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "2151:4:7",
"nodeType": "YulIdentifier",
"src": "2151:4:7"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "2145:5:7",
"nodeType": "YulIdentifier",
"src": "2145:5:7"
},
"nativeSrc": "2145:11:7",
"nodeType": "YulFunctionCall",
"src": "2145:11:7"
},
{
"name": "offset",
"nativeSrc": "2158:6:7",
"nodeType": "YulIdentifier",
"src": "2158:6:7"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "2190:16:7",
"nodeType": "YulIdentifier",
"src": "2190:16:7"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "2166:23:7",
"nodeType": "YulIdentifier",
"src": "2166:23:7"
},
"nativeSrc": "2166:41:7",
"nodeType": "YulFunctionCall",
"src": "2166:41:7"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "2117:27:7",
"nodeType": "YulIdentifier",
"src": "2117:27:7"
},
"nativeSrc": "2117:91:7",
"nodeType": "YulFunctionCall",
"src": "2117:91:7"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2104:6:7",
"nodeType": "YulIdentifier",
"src": "2104:6:7"
},
"nativeSrc": "2104:105:7",
"nodeType": "YulFunctionCall",
"src": "2104:105:7"
},
"nativeSrc": "2104:105:7",
"nodeType": "YulExpressionStatement",
"src": "2104:105:7"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "1946:269:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1999:4:7",
"nodeType": "YulTypedName",
"src": "1999:4:7",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2005:6:7",
"nodeType": "YulTypedName",
"src": "2005:6:7",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "2013:7:7",
"nodeType": "YulTypedName",
"src": "2013:7:7",
"type": ""
}
],
"src": "1946:269:7"
},
{
"body": {
"nativeSrc": "2270:24:7",
"nodeType": "YulBlock",
"src": "2270:24:7",
"statements": [
{
"nativeSrc": "2280:8:7",
"nodeType": "YulAssignment",
"src": "2280:8:7",
"value": {
"kind": "number",
"nativeSrc": "2287:1:7",
"nodeType": "YulLiteral",
"src": "2287:1:7",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "2280:3:7",
"nodeType": "YulIdentifier",
"src": "2280:3:7"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2221:73:7",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "2266:3:7",
"nodeType": "YulTypedName",
"src": "2266:3:7",
"type": ""
}
],
"src": "2221:73:7"
},
{
"body": {
"nativeSrc": "2353:136:7",
"nodeType": "YulBlock",
"src": "2353:136:7",
"statements": [
{
"nativeSrc": "2363:46:7",
"nodeType": "YulVariableDeclaration",
"src": "2363:46:7",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2377:30:7",
"nodeType": "YulIdentifier",
"src": "2377:30:7"
},
"nativeSrc": "2377:32:7",
"nodeType": "YulFunctionCall",
"src": "2377:32:7"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "2367:6:7",
"nodeType": "YulTypedName",
"src": "2367:6:7",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2462:4:7",
"nodeType": "YulIdentifier",
"src": "2462:4:7"
},
{
"name": "offset",
"nativeSrc": "2468:6:7",
"nodeType": "YulIdentifier",
"src": "2468:6:7"
},
{
"name": "zero_0",
"nativeSrc": "2476:6:7",
"nodeType": "YulIdentifier",
"src": "2476:6:7"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "2418:43:7",
"nodeType": "YulIdentifier",
"src": "2418:43:7"
},
"nativeSrc": "2418:65:7",
"nodeType": "YulFunctionCall",
"src": "2418:65:7"
},
"nativeSrc": "2418:65:7",
"nodeType": "YulExpressionStatement",
"src": "2418:65:7"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2300:189:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "2339:4:7",
"nodeType": "YulTypedName",
"src": "2339:4:7",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2345:6:7",
"nodeType": "YulTypedName",
"src": "2345:6:7",
"type": ""
}
],
"src": "2300:189:7"
},
{
"body": {
"nativeSrc": "2545:136:7",
"nodeType": "YulBlock",
"src": "2545:136:7",
"statements": [
{
"body": {
"nativeSrc": "2612:63:7",
"nodeType": "YulBlock",
"src": "2612:63:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "2656:5:7",
"nodeType": "YulIdentifier",
"src": "2656:5:7"
},
{
"kind": "number",
"nativeSrc": "2663:1:7",
"nodeType": "YulLiteral",
"src": "2663:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2626:29:7",
"nodeType": "YulIdentifier",
"src": "2626:29:7"
},
"nativeSrc": "2626:39:7",
"nodeType": "YulFunctionCall",
"src": "2626:39:7"
},
"nativeSrc": "2626:39:7",
"nodeType": "YulExpressionStatement",
"src": "2626:39:7"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "2565:5:7",
"nodeType": "YulIdentifier",
"src": "2565:5:7"
},
{
"name": "end",
"nativeSrc": "2572:3:7",
"nodeType": "YulIdentifier",
"src": "2572:3:7"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2562:2:7",
"nodeType": "YulIdentifier",
"src": "2562:2:7"
},
"nativeSrc": "2562:14:7",
"nodeType": "YulFunctionCall",
"src": "2562:14:7"
},
"nativeSrc": "2555:120:7",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2577:26:7",
"nodeType": "YulBlock",
"src": "2577:26:7",
"statements": [
{
"nativeSrc": "2579:22:7",
"nodeType": "YulAssignment",
"src": "2579:22:7",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "2592:5:7",
"nodeType": "YulIdentifier",
"src": "2592:5:7"
},
{
"kind": "number",
"nativeSrc": "2599:1:7",
"nodeType": "YulLiteral",
"src": "2599:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2588:3:7",
"nodeType": "YulIdentifier",
"src": "2588:3:7"
},
"nativeSrc": "2588:13:7",
"nodeType": "YulFunctionCall",
"src": "2588:13:7"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "2579:5:7",
"nodeType": "YulIdentifier",
"src": "2579:5:7"
}
]
}
]
},
"pre": {
"nativeSrc": "2559:2:7",
"nodeType": "YulBlock",
"src": "2559:2:7",
"statements": []
},
"src": "2555:120:7"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "2495:186:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "2533:5:7",
"nodeType": "YulTypedName",
"src": "2533:5:7",
"type": ""
},
{
"name": "end",
"nativeSrc": "2540:3:7",
"nodeType": "YulTypedName",
"src": "2540:3:7",
"type": ""
}
],
"src": "2495:186:7"
},
{
"body": {
"nativeSrc": "2766:464:7",
"nodeType": "YulBlock",
"src": "2766:464:7",
"statements": [
{
"body": {
"nativeSrc": "2792:431:7",
"nodeType": "YulBlock",
"src": "2792:431:7",
"statements": [
{
"nativeSrc": "2806:54:7",
"nodeType": "YulVariableDeclaration",
"src": "2806:54:7",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2854:5:7",
"nodeType": "YulIdentifier",
"src": "2854:5:7"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "2822:31:7",
"nodeType": "YulIdentifier",
"src": "2822:31:7"
},
"nativeSrc": "2822:38:7",
"nodeType": "YulFunctionCall",
"src": "2822:38:7"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "2810:8:7",
"nodeType": "YulTypedName",
"src": "2810:8:7",
"type": ""
}
]
},
{
"nativeSrc": "2873:63:7",
"nodeType": "YulVariableDeclaration",
"src": "2873:63:7",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "2896:8:7",
"nodeType": "YulIdentifier",
"src": "2896:8:7"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "2924:10:7",
"nodeType": "YulIdentifier",
"src": "2924:10:7"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "2906:17:7",
"nodeType": "YulIdentifier",
"src": "2906:17:7"
},
"nativeSrc": "2906:29:7",
"nodeType": "YulFunctionCall",
"src": "2906:29:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2892:3:7",
"nodeType": "YulIdentifier",
"src": "2892:3:7"
},
"nativeSrc": "2892:44:7",
"nodeType": "YulFunctionCall",
"src": "2892:44:7"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "2877:11:7",
"nodeType": "YulTypedName",
"src": "2877:11:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3093:27:7",
"nodeType": "YulBlock",
"src": "3093:27:7",
"statements": [
{
"nativeSrc": "3095:23:7",
"nodeType": "YulAssignment",
"src": "3095:23:7",
"value": {
"name": "dataArea",
"nativeSrc": "3110:8:7",
"nodeType": "YulIdentifier",
"src": "3110:8:7"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "3095:11:7",
"nodeType": "YulIdentifier",
"src": "3095:11:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3077:10:7",
"nodeType": "YulIdentifier",
"src": "3077:10:7"
},
{
"kind": "number",
"nativeSrc": "3089:2:7",
"nodeType": "YulLiteral",
"src": "3089:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "3074:2:7",
"nodeType": "YulIdentifier",
"src": "3074:2:7"
},
"nativeSrc": "3074:18:7",
"nodeType": "YulFunctionCall",
"src": "3074:18:7"
},
"nativeSrc": "3071:49:7",
"nodeType": "YulIf",
"src": "3071:49:7"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "3162:11:7",
"nodeType": "YulIdentifier",
"src": "3162:11:7"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "3179:8:7",
"nodeType": "YulIdentifier",
"src": "3179:8:7"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "3207:3:7",
"nodeType": "YulIdentifier",
"src": "3207:3:7"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "3189:17:7",
"nodeType": "YulIdentifier",
"src": "3189:17:7"
},
"nativeSrc": "3189:22:7",
"nodeType": "YulFunctionCall",
"src": "3189:22:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3175:3:7",
"nodeType": "YulIdentifier",
"src": "3175:3:7"
},
"nativeSrc": "3175:37:7",
"nodeType": "YulFunctionCall",
"src": "3175:37:7"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "3133:28:7",
"nodeType": "YulIdentifier",
"src": "3133:28:7"
},
"nativeSrc": "3133:80:7",
"nodeType": "YulFunctionCall",
"src": "3133:80:7"
},
"nativeSrc": "3133:80:7",
"nodeType": "YulExpressionStatement",
"src": "3133:80:7"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2783:3:7",
"nodeType": "YulIdentifier",
"src": "2783:3:7"
},
{
"kind": "number",
"nativeSrc": "2788:2:7",
"nodeType": "YulLiteral",
"src": "2788:2:7",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2780:2:7",
"nodeType": "YulIdentifier",
"src": "2780:2:7"
},
"nativeSrc": "2780:11:7",
"nodeType": "YulFunctionCall",
"src": "2780:11:7"
},
"nativeSrc": "2777:446:7",
"nodeType": "YulIf",
"src": "2777:446:7"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "2687:543:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "2742:5:7",
"nodeType": "YulTypedName",
"src": "2742:5:7",
"type": ""
},
{
"name": "len",
"nativeSrc": "2749:3:7",
"nodeType": "YulTypedName",
"src": "2749:3:7",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "2754:10:7",
"nodeType": "YulTypedName",
"src": "2754:10:7",
"type": ""
}
],
"src": "2687:543:7"
},
{
"body": {
"nativeSrc": "3299:54:7",
"nodeType": "YulBlock",
"src": "3299:54:7",
"statements": [
{
"nativeSrc": "3309:37:7",
"nodeType": "YulAssignment",
"src": "3309:37:7",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "3334:4:7",
"nodeType": "YulIdentifier",
"src": "3334:4:7"
},
{
"name": "value",
"nativeSrc": "3340:5:7",
"nodeType": "YulIdentifier",
"src": "3340:5:7"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "3330:3:7",
"nodeType": "YulIdentifier",
"src": "3330:3:7"
},
"nativeSrc": "3330:16:7",
"nodeType": "YulFunctionCall",
"src": "3330:16:7"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "3309:8:7",
"nodeType": "YulIdentifier",
"src": "3309:8:7"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3236:117:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "3274:4:7",
"nodeType": "YulTypedName",
"src": "3274:4:7",
"type": ""
},
{
"name": "value",
"nativeSrc": "3280:5:7",
"nodeType": "YulTypedName",
"src": "3280:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "3290:8:7",
"nodeType": "YulTypedName",
"src": "3290:8:7",
"type": ""
}
],
"src": "3236:117:7"
},
{
"body": {
"nativeSrc": "3410:118:7",
"nodeType": "YulBlock",
"src": "3410:118:7",
"statements": [
{
"nativeSrc": "3420:68:7",
"nodeType": "YulVariableDeclaration",
"src": "3420:68:7",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3469:1:7",
"nodeType": "YulLiteral",
"src": "3469:1:7",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "3472:5:7",
"nodeType": "YulIdentifier",
"src": "3472:5:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3465:3:7",
"nodeType": "YulIdentifier",
"src": "3465:3:7"
},
"nativeSrc": "3465:13:7",
"nodeType": "YulFunctionCall",
"src": "3465:13:7"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3484:1:7",
"nodeType": "YulLiteral",
"src": "3484:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3480:3:7",
"nodeType": "YulIdentifier",
"src": "3480:3:7"
},
"nativeSrc": "3480:6:7",
"nodeType": "YulFunctionCall",
"src": "3480:6:7"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3436:28:7",
"nodeType": "YulIdentifier",
"src": "3436:28:7"
},
"nativeSrc": "3436:51:7",
"nodeType": "YulFunctionCall",
"src": "3436:51:7"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3432:3:7",
"nodeType": "YulIdentifier",
"src": "3432:3:7"
},
"nativeSrc": "3432:56:7",
"nodeType": "YulFunctionCall",
"src": "3432:56:7"
},
"variables": [
{
"name": "mask",
"nativeSrc": "3424:4:7",
"nodeType": "YulTypedName",
"src": "3424:4:7",
"type": ""
}
]
},
{
"nativeSrc": "3497:25:7",
"nodeType": "YulAssignment",
"src": "3497:25:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3511:4:7",
"nodeType": "YulIdentifier",
"src": "3511:4:7"
},
{
"name": "mask",
"nativeSrc": "3517:4:7",
"nodeType": "YulIdentifier",
"src": "3517:4:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3507:3:7",
"nodeType": "YulIdentifier",
"src": "3507:3:7"
},
"nativeSrc": "3507:15:7",
"nodeType": "YulFunctionCall",
"src": "3507:15:7"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "3497:6:7",
"nodeType": "YulIdentifier",
"src": "3497:6:7"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "3359:169:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3387:4:7",
"nodeType": "YulTypedName",
"src": "3387:4:7",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "3393:5:7",
"nodeType": "YulTypedName",
"src": "3393:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "3403:6:7",
"nodeType": "YulTypedName",
"src": "3403:6:7",
"type": ""
}
],
"src": "3359:169:7"
},
{
"body": {
"nativeSrc": "3614:214:7",
"nodeType": "YulBlock",
"src": "3614:214:7",
"statements": [
{
"nativeSrc": "3747:37:7",
"nodeType": "YulAssignment",
"src": "3747:37:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3774:4:7",
"nodeType": "YulIdentifier",
"src": "3774:4:7"
},
{
"name": "len",
"nativeSrc": "3780:3:7",
"nodeType": "YulIdentifier",
"src": "3780:3:7"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "3755:18:7",
"nodeType": "YulIdentifier",
"src": "3755:18:7"
},
"nativeSrc": "3755:29:7",
"nodeType": "YulFunctionCall",
"src": "3755:29:7"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "3747:4:7",
"nodeType": "YulIdentifier",
"src": "3747:4:7"
}
]
},
{
"nativeSrc": "3793:29:7",
"nodeType": "YulAssignment",
"src": "3793:29:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3804:4:7",
"nodeType": "YulIdentifier",
"src": "3804:4:7"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3814:1:7",
"nodeType": "YulLiteral",
"src": "3814:1:7",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "3817:3:7",
"nodeType": "YulIdentifier",
"src": "3817:3:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3810:3:7",
"nodeType": "YulIdentifier",
"src": "3810:3:7"
},
"nativeSrc": "3810:11:7",
"nodeType": "YulFunctionCall",
"src": "3810:11:7"
}
],
"functionName": {
"name": "or",
"nativeSrc": "3801:2:7",
"nodeType": "YulIdentifier",
"src": "3801:2:7"
},
"nativeSrc": "3801:21:7",
"nodeType": "YulFunctionCall",
"src": "3801:21:7"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "3793:4:7",
"nodeType": "YulIdentifier",
"src": "3793:4:7"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "3533:295:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3595:4:7",
"nodeType": "YulTypedName",
"src": "3595:4:7",
"type": ""
},
{
"name": "len",
"nativeSrc": "3601:3:7",
"nodeType": "YulTypedName",
"src": "3601:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "3609:4:7",
"nodeType": "YulTypedName",
"src": "3609:4:7",
"type": ""
}
],
"src": "3533:295:7"
},
{
"body": {
"nativeSrc": "3925:1303:7",
"nodeType": "YulBlock",
"src": "3925:1303:7",
"statements": [
{
"nativeSrc": "3936:51:7",
"nodeType": "YulVariableDeclaration",
"src": "3936:51:7",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "3983:3:7",
"nodeType": "YulIdentifier",
"src": "3983:3:7"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "3950:32:7",
"nodeType": "YulIdentifier",
"src": "3950:32:7"
},
"nativeSrc": "3950:37:7",
"nodeType": "YulFunctionCall",
"src": "3950:37:7"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "3940:6:7",
"nodeType": "YulTypedName",
"src": "3940:6:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4072:22:7",
"nodeType": "YulBlock",
"src": "4072:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4074:16:7",
"nodeType": "YulIdentifier",
"src": "4074:16:7"
},
"nativeSrc": "4074:18:7",
"nodeType": "YulFunctionCall",
"src": "4074:18:7"
},
"nativeSrc": "4074:18:7",
"nodeType": "YulExpressionStatement",
"src": "4074:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4044:6:7",
"nodeType": "YulIdentifier",
"src": "4044:6:7"
},
{
"kind": "number",
"nativeSrc": "4052:18:7",
"nodeType": "YulLiteral",
"src": "4052:18:7",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4041:2:7",
"nodeType": "YulIdentifier",
"src": "4041:2:7"
},
"nativeSrc": "4041:30:7",
"nodeType": "YulFunctionCall",
"src": "4041:30:7"
},
"nativeSrc": "4038:56:7",
"nodeType": "YulIf",
"src": "4038:56:7"
},
{
"nativeSrc": "4104:52:7",
"nodeType": "YulVariableDeclaration",
"src": "4104:52:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "4150:4:7",
"nodeType": "YulIdentifier",
"src": "4150:4:7"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "4144:5:7",
"nodeType": "YulIdentifier",
"src": "4144:5:7"
},
"nativeSrc": "4144:11:7",
"nodeType": "YulFunctionCall",
"src": "4144:11:7"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "4118:25:7",
"nodeType": "YulIdentifier",
"src": "4118:25:7"
},
"nativeSrc": "4118:38:7",
"nodeType": "YulFunctionCall",
"src": "4118:38:7"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "4108:6:7",
"nodeType": "YulTypedName",
"src": "4108:6:7",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4249:4:7",
"nodeType": "YulIdentifier",
"src": "4249:4:7"
},
{
"name": "oldLen",
"nativeSrc": "4255:6:7",
"nodeType": "YulIdentifier",
"src": "4255:6:7"
},
{
"name": "newLen",
"nativeSrc": "4263:6:7",
"nodeType": "YulIdentifier",
"src": "4263:6:7"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "4203:45:7",
"nodeType": "YulIdentifier",
"src": "4203:45:7"
},
"nativeSrc": "4203:67:7",
"nodeType": "YulFunctionCall",
"src": "4203:67:7"
},
"nativeSrc": "4203:67:7",
"nodeType": "YulExpressionStatement",
"src": "4203:67:7"
},
{
"nativeSrc": "4280:18:7",
"nodeType": "YulVariableDeclaration",
"src": "4280:18:7",
"value": {
"kind": "number",
"nativeSrc": "4297:1:7",
"nodeType": "YulLiteral",
"src": "4297:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "4284:9:7",
"nodeType": "YulTypedName",
"src": "4284:9:7",
"type": ""
}
]
},
{
"nativeSrc": "4308:17:7",
"nodeType": "YulAssignment",
"src": "4308:17:7",
"value": {
"kind": "number",
"nativeSrc": "4321:4:7",
"nodeType": "YulLiteral",
"src": "4321:4:7",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4308:9:7",
"nodeType": "YulIdentifier",
"src": "4308:9:7"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "4372:611:7",
"nodeType": "YulBlock",
"src": "4372:611:7",
"statements": [
{
"nativeSrc": "4386:37:7",
"nodeType": "YulVariableDeclaration",
"src": "4386:37:7",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4405:6:7",
"nodeType": "YulIdentifier",
"src": "4405:6:7"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4417:4:7",
"nodeType": "YulLiteral",
"src": "4417:4:7",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4413:3:7",
"nodeType": "YulIdentifier",
"src": "4413:3:7"
},
"nativeSrc": "4413:9:7",
"nodeType": "YulFunctionCall",
"src": "4413:9:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4401:3:7",
"nodeType": "YulIdentifier",
"src": "4401:3:7"
},
"nativeSrc": "4401:22:7",
"nodeType": "YulFunctionCall",
"src": "4401:22:7"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "4390:7:7",
"nodeType": "YulTypedName",
"src": "4390:7:7",
"type": ""
}
]
},
{
"nativeSrc": "4437:51:7",
"nodeType": "YulVariableDeclaration",
"src": "4437:51:7",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4483:4:7",
"nodeType": "YulIdentifier",
"src": "4483:4:7"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4451:31:7",
"nodeType": "YulIdentifier",
"src": "4451:31:7"
},
"nativeSrc": "4451:37:7",
"nodeType": "YulFunctionCall",
"src": "4451:37:7"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "4441:6:7",
"nodeType": "YulTypedName",
"src": "4441:6:7",
"type": ""
}
]
},
{
"nativeSrc": "4501:10:7",
"nodeType": "YulVariableDeclaration",
"src": "4501:10:7",
"value": {
"kind": "number",
"nativeSrc": "4510:1:7",
"nodeType": "YulLiteral",
"src": "4510:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4505:1:7",
"nodeType": "YulTypedName",
"src": "4505:1:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4569:163:7",
"nodeType": "YulBlock",
"src": "4569:163:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4594:6:7",
"nodeType": "YulIdentifier",
"src": "4594:6:7"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4612:3:7",
"nodeType": "YulIdentifier",
"src": "4612:3:7"
},
{
"name": "srcOffset",
"nativeSrc": "4617:9:7",
"nodeType": "YulIdentifier",
"src": "4617:9:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4608:3:7",
"nodeType": "YulIdentifier",
"src": "4608:3:7"
},
"nativeSrc": "4608:19:7",
"nodeType": "YulFunctionCall",
"src": "4608:19:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4602:5:7",
"nodeType": "YulIdentifier",
"src": "4602:5:7"
},
"nativeSrc": "4602:26:7",
"nodeType": "YulFunctionCall",
"src": "4602:26:7"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4587:6:7",
"nodeType": "YulIdentifier",
"src": "4587:6:7"
},
"nativeSrc": "4587:42:7",
"nodeType": "YulFunctionCall",
"src": "4587:42:7"
},
"nativeSrc": "4587:42:7",
"nodeType": "YulExpressionStatement",
"src": "4587:42:7"
},
{
"nativeSrc": "4646:24:7",
"nodeType": "YulAssignment",
"src": "4646:24:7",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4660:6:7",
"nodeType": "YulIdentifier",
"src": "4660:6:7"
},
{
"kind": "number",
"nativeSrc": "4668:1:7",
"nodeType": "YulLiteral",
"src": "4668:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4656:3:7",
"nodeType": "YulIdentifier",
"src": "4656:3:7"
},
"nativeSrc": "4656:14:7",
"nodeType": "YulFunctionCall",
"src": "4656:14:7"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "4646:6:7",
"nodeType": "YulIdentifier",
"src": "4646:6:7"
}
]
},
{
"nativeSrc": "4687:31:7",
"nodeType": "YulAssignment",
"src": "4687:31:7",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "4704:9:7",
"nodeType": "YulIdentifier",
"src": "4704:9:7"
},
{
"kind": "number",
"nativeSrc": "4715:2:7",
"nodeType": "YulLiteral",
"src": "4715:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4700:3:7",
"nodeType": "YulIdentifier",
"src": "4700:3:7"
},
"nativeSrc": "4700:18:7",
"nodeType": "YulFunctionCall",
"src": "4700:18:7"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4687:9:7",
"nodeType": "YulIdentifier",
"src": "4687:9:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4535:1:7",
"nodeType": "YulIdentifier",
"src": "4535:1:7"
},
{
"name": "loopEnd",
"nativeSrc": "4538:7:7",
"nodeType": "YulIdentifier",
"src": "4538:7:7"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4532:2:7",
"nodeType": "YulIdentifier",
"src": "4532:2:7"
},
"nativeSrc": "4532:14:7",
"nodeType": "YulFunctionCall",
"src": "4532:14:7"
},
"nativeSrc": "4524:208:7",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4547:21:7",
"nodeType": "YulBlock",
"src": "4547:21:7",
"statements": [
{
"nativeSrc": "4549:17:7",
"nodeType": "YulAssignment",
"src": "4549:17:7",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4558:1:7",
"nodeType": "YulIdentifier",
"src": "4558:1:7"
},
{
"kind": "number",
"nativeSrc": "4561:4:7",
"nodeType": "YulLiteral",
"src": "4561:4:7",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4554:3:7",
"nodeType": "YulIdentifier",
"src": "4554:3:7"
},
"nativeSrc": "4554:12:7",
"nodeType": "YulFunctionCall",
"src": "4554:12:7"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4549:1:7",
"nodeType": "YulIdentifier",
"src": "4549:1:7"
}
]
}
]
},
"pre": {
"nativeSrc": "4528:3:7",
"nodeType": "YulBlock",
"src": "4528:3:7",
"statements": []
},
"src": "4524:208:7"
},
{
"body": {
"nativeSrc": "4768:156:7",
"nodeType": "YulBlock",
"src": "4768:156:7",
"statements": [
{
"nativeSrc": "4786:43:7",
"nodeType": "YulVariableDeclaration",
"src": "4786:43:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4813:3:7",
"nodeType": "YulIdentifier",
"src": "4813:3:7"
},
{
"name": "srcOffset",
"nativeSrc": "4818:9:7",
"nodeType": "YulIdentifier",
"src": "4818:9:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4809:3:7",
"nodeType": "YulIdentifier",
"src": "4809:3:7"
},
"nativeSrc": "4809:19:7",
"nodeType": "YulFunctionCall",
"src": "4809:19:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4803:5:7",
"nodeType": "YulIdentifier",
"src": "4803:5:7"
},
"nativeSrc": "4803:26:7",
"nodeType": "YulFunctionCall",
"src": "4803:26:7"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "4790:9:7",
"nodeType": "YulTypedName",
"src": "4790:9:7",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4853:6:7",
"nodeType": "YulIdentifier",
"src": "4853:6:7"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "4880:9:7",
"nodeType": "YulIdentifier",
"src": "4880:9:7"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4895:6:7",
"nodeType": "YulIdentifier",
"src": "4895:6:7"
},
{
"kind": "number",
"nativeSrc": "4903:4:7",
"nodeType": "YulLiteral",
"src": "4903:4:7",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4891:3:7",
"nodeType": "YulIdentifier",
"src": "4891:3:7"
},
"nativeSrc": "4891:17:7",
"nodeType": "YulFunctionCall",
"src": "4891:17:7"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "4861:18:7",
"nodeType": "YulIdentifier",
"src": "4861:18:7"
},
"nativeSrc": "4861:48:7",
"nodeType": "YulFunctionCall",
"src": "4861:48:7"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4846:6:7",
"nodeType": "YulIdentifier",
"src": "4846:6:7"
},
"nativeSrc": "4846:64:7",
"nodeType": "YulFunctionCall",
"src": "4846:64:7"
},
"nativeSrc": "4846:64:7",
"nodeType": "YulExpressionStatement",
"src": "4846:64:7"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "4751:7:7",
"nodeType": "YulIdentifier",
"src": "4751:7:7"
},
{
"name": "newLen",
"nativeSrc": "4760:6:7",
"nodeType": "YulIdentifier",
"src": "4760:6:7"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4748:2:7",
"nodeType": "YulIdentifier",
"src": "4748:2:7"
},
"nativeSrc": "4748:19:7",
"nodeType": "YulFunctionCall",
"src": "4748:19:7"
},
"nativeSrc": "4745:179:7",
"nodeType": "YulIf",
"src": "4745:179:7"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4944:4:7",
"nodeType": "YulIdentifier",
"src": "4944:4:7"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4958:6:7",
"nodeType": "YulIdentifier",
"src": "4958:6:7"
},
{
"kind": "number",
"nativeSrc": "4966:1:7",
"nodeType": "YulLiteral",
"src": "4966:1:7",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "4954:3:7",
"nodeType": "YulIdentifier",
"src": "4954:3:7"
},
"nativeSrc": "4954:14:7",
"nodeType": "YulFunctionCall",
"src": "4954:14:7"
},
{
"kind": "number",
"nativeSrc": "4970:1:7",
"nodeType": "YulLiteral",
"src": "4970:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4950:3:7",
"nodeType": "YulIdentifier",
"src": "4950:3:7"
},
"nativeSrc": "4950:22:7",
"nodeType": "YulFunctionCall",
"src": "4950:22:7"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4937:6:7",
"nodeType": "YulIdentifier",
"src": "4937:6:7"
},
"nativeSrc": "4937:36:7",
"nodeType": "YulFunctionCall",
"src": "4937:36:7"
},
"nativeSrc": "4937:36:7",
"nodeType": "YulExpressionStatement",
"src": "4937:36:7"
}
]
},
"nativeSrc": "4365:618:7",
"nodeType": "YulCase",
"src": "4365:618:7",
"value": {
"kind": "number",
"nativeSrc": "4370:1:7",
"nodeType": "YulLiteral",
"src": "4370:1:7",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "5000:222:7",
"nodeType": "YulBlock",
"src": "5000:222:7",
"statements": [
{
"nativeSrc": "5014:14:7",
"nodeType": "YulVariableDeclaration",
"src": "5014:14:7",
"value": {
"kind": "number",
"nativeSrc": "5027:1:7",
"nodeType": "YulLiteral",
"src": "5027:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "5018:5:7",
"nodeType": "YulTypedName",
"src": "5018:5:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5051:67:7",
"nodeType": "YulBlock",
"src": "5051:67:7",
"statements": [
{
"nativeSrc": "5069:35:7",
"nodeType": "YulAssignment",
"src": "5069:35:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5088:3:7",
"nodeType": "YulIdentifier",
"src": "5088:3:7"
},
{
"name": "srcOffset",
"nativeSrc": "5093:9:7",
"nodeType": "YulIdentifier",
"src": "5093:9:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5084:3:7",
"nodeType": "YulIdentifier",
"src": "5084:3:7"
},
"nativeSrc": "5084:19:7",
"nodeType": "YulFunctionCall",
"src": "5084:19:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5078:5:7",
"nodeType": "YulIdentifier",
"src": "5078:5:7"
},
"nativeSrc": "5078:26:7",
"nodeType": "YulFunctionCall",
"src": "5078:26:7"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5069:5:7",
"nodeType": "YulIdentifier",
"src": "5069:5:7"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "5044:6:7",
"nodeType": "YulIdentifier",
"src": "5044:6:7"
},
"nativeSrc": "5041:77:7",
"nodeType": "YulIf",
"src": "5041:77:7"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5138:4:7",
"nodeType": "YulIdentifier",
"src": "5138:4:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5197:5:7",
"nodeType": "YulIdentifier",
"src": "5197:5:7"
},
{
"name": "newLen",
"nativeSrc": "5204:6:7",
"nodeType": "YulIdentifier",
"src": "5204:6:7"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "5144:52:7",
"nodeType": "YulIdentifier",
"src": "5144:52:7"
},
"nativeSrc": "5144:67:7",
"nodeType": "YulFunctionCall",
"src": "5144:67:7"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5131:6:7",
"nodeType": "YulIdentifier",
"src": "5131:6:7"
},
"nativeSrc": "5131:81:7",
"nodeType": "YulFunctionCall",
"src": "5131:81:7"
},
"nativeSrc": "5131:81:7",
"nodeType": "YulExpressionStatement",
"src": "5131:81:7"
}
]
},
"nativeSrc": "4992:230:7",
"nodeType": "YulCase",
"src": "4992:230:7",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4345:6:7",
"nodeType": "YulIdentifier",
"src": "4345:6:7"
},
{
"kind": "number",
"nativeSrc": "4353:2:7",
"nodeType": "YulLiteral",
"src": "4353:2:7",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4342:2:7",
"nodeType": "YulIdentifier",
"src": "4342:2:7"
},
"nativeSrc": "4342:14:7",
"nodeType": "YulFunctionCall",
"src": "4342:14:7"
},
"nativeSrc": "4335:887:7",
"nodeType": "YulSwitch",
"src": "4335:887:7"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "3833:1395:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "3914:4:7",
"nodeType": "YulTypedName",
"src": "3914:4:7",
"type": ""
},
{
"name": "src",
"nativeSrc": "3920:3:7",
"nodeType": "YulTypedName",
"src": "3920:3:7",
"type": ""
}
],
"src": "3833:1395:7"
},
{
"body": {
"nativeSrc": "5262:152:7",
"nodeType": "YulBlock",
"src": "5262:152:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5279:1:7",
"nodeType": "YulLiteral",
"src": "5279:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5282:77:7",
"nodeType": "YulLiteral",
"src": "5282:77:7",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5272:6:7",
"nodeType": "YulIdentifier",
"src": "5272:6:7"
},
"nativeSrc": "5272:88:7",
"nodeType": "YulFunctionCall",
"src": "5272:88:7"
},
"nativeSrc": "5272:88:7",
"nodeType": "YulExpressionStatement",
"src": "5272:88:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5376:1:7",
"nodeType": "YulLiteral",
"src": "5376:1:7",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "5379:4:7",
"nodeType": "YulLiteral",
"src": "5379:4:7",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5369:6:7",
"nodeType": "YulIdentifier",
"src": "5369:6:7"
},
"nativeSrc": "5369:15:7",
"nodeType": "YulFunctionCall",
"src": "5369:15:7"
},
"nativeSrc": "5369:15:7",
"nodeType": "YulExpressionStatement",
"src": "5369:15:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5400:1:7",
"nodeType": "YulLiteral",
"src": "5400:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5403:4:7",
"nodeType": "YulLiteral",
"src": "5403:4:7",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5393:6:7",
"nodeType": "YulIdentifier",
"src": "5393:6:7"
},
"nativeSrc": "5393:15:7",
"nodeType": "YulFunctionCall",
"src": "5393:15:7"
},
"nativeSrc": "5393:15:7",
"nodeType": "YulExpressionStatement",
"src": "5393:15:7"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "5234:180:7",
"nodeType": "YulFunctionDefinition",
"src": "5234:180:7"
},
{
"body": {
"nativeSrc": "5471:51:7",
"nodeType": "YulBlock",
"src": "5471:51:7",
"statements": [
{
"nativeSrc": "5481:34:7",
"nodeType": "YulAssignment",
"src": "5481:34:7",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5506:1:7",
"nodeType": "YulLiteral",
"src": "5506:1:7",
"type": "",
"value": "1"
},
{
"name": "value",
"nativeSrc": "5509:5:7",
"nodeType": "YulIdentifier",
"src": "5509:5:7"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "5502:3:7",
"nodeType": "YulIdentifier",
"src": "5502:3:7"
},
"nativeSrc": "5502:13:7",
"nodeType": "YulFunctionCall",
"src": "5502:13:7"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "5481:8:7",
"nodeType": "YulIdentifier",
"src": "5481:8:7"
}
]
}
]
},
"name": "shift_right_1_unsigned",
"nativeSrc": "5420:102:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5452:5:7",
"nodeType": "YulTypedName",
"src": "5452:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "5462:8:7",
"nodeType": "YulTypedName",
"src": "5462:8:7",
"type": ""
}
],
"src": "5420:102:7"
},
{
"body": {
"nativeSrc": "5601:775:7",
"nodeType": "YulBlock",
"src": "5601:775:7",
"statements": [
{
"nativeSrc": "5611:15:7",
"nodeType": "YulAssignment",
"src": "5611:15:7",
"value": {
"name": "_power",
"nativeSrc": "5620:6:7",
"nodeType": "YulIdentifier",
"src": "5620:6:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "5611:5:7",
"nodeType": "YulIdentifier",
"src": "5611:5:7"
}
]
},
{
"nativeSrc": "5635:14:7",
"nodeType": "YulAssignment",
"src": "5635:14:7",
"value": {
"name": "_base",
"nativeSrc": "5644:5:7",
"nodeType": "YulIdentifier",
"src": "5644:5:7"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "5635:4:7",
"nodeType": "YulIdentifier",
"src": "5635:4:7"
}
]
},
{
"body": {
"nativeSrc": "5693:677:7",
"nodeType": "YulBlock",
"src": "5693:677:7",
"statements": [
{
"body": {
"nativeSrc": "5781:22:7",
"nodeType": "YulBlock",
"src": "5781:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "5783:16:7",
"nodeType": "YulIdentifier",
"src": "5783:16:7"
},
"nativeSrc": "5783:18:7",
"nodeType": "YulFunctionCall",
"src": "5783:18:7"
},
"nativeSrc": "5783:18:7",
"nodeType": "YulExpressionStatement",
"src": "5783:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nativeSrc": "5759:4:7",
"nodeType": "YulIdentifier",
"src": "5759:4:7"
},
{
"arguments": [
{
"name": "max",
"nativeSrc": "5769:3:7",
"nodeType": "YulIdentifier",
"src": "5769:3:7"
},
{
"name": "base",
"nativeSrc": "5774:4:7",
"nodeType": "YulIdentifier",
"src": "5774:4:7"
}
],
"functionName": {
"name": "div",
"nativeSrc": "5765:3:7",
"nodeType": "YulIdentifier",
"src": "5765:3:7"
},
"nativeSrc": "5765:14:7",
"nodeType": "YulFunctionCall",
"src": "5765:14:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5756:2:7",
"nodeType": "YulIdentifier",
"src": "5756:2:7"
},
"nativeSrc": "5756:24:7",
"nodeType": "YulFunctionCall",
"src": "5756:24:7"
},
"nativeSrc": "5753:50:7",
"nodeType": "YulIf",
"src": "5753:50:7"
},
{
"body": {
"nativeSrc": "5848:419:7",
"nodeType": "YulBlock",
"src": "5848:419:7",
"statements": [
{
"nativeSrc": "6228:25:7",
"nodeType": "YulAssignment",
"src": "6228:25:7",
"value": {
"arguments": [
{
"name": "power",
"nativeSrc": "6241:5:7",
"nodeType": "YulIdentifier",
"src": "6241:5:7"
},
{
"name": "base",
"nativeSrc": "6248:4:7",
"nodeType": "YulIdentifier",
"src": "6248:4:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "6237:3:7",
"nodeType": "YulIdentifier",
"src": "6237:3:7"
},
"nativeSrc": "6237:16:7",
"nodeType": "YulFunctionCall",
"src": "6237:16:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6228:5:7",
"nodeType": "YulIdentifier",
"src": "6228:5:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "5823:8:7",
"nodeType": "YulIdentifier",
"src": "5823:8:7"
},
{
"kind": "number",
"nativeSrc": "5833:1:7",
"nodeType": "YulLiteral",
"src": "5833:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5819:3:7",
"nodeType": "YulIdentifier",
"src": "5819:3:7"
},
"nativeSrc": "5819:16:7",
"nodeType": "YulFunctionCall",
"src": "5819:16:7"
},
"nativeSrc": "5816:451:7",
"nodeType": "YulIf",
"src": "5816:451:7"
},
{
"nativeSrc": "6280:23:7",
"nodeType": "YulAssignment",
"src": "6280:23:7",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "6292:4:7",
"nodeType": "YulIdentifier",
"src": "6292:4:7"
},
{
"name": "base",
"nativeSrc": "6298:4:7",
"nodeType": "YulIdentifier",
"src": "6298:4:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "6288:3:7",
"nodeType": "YulIdentifier",
"src": "6288:3:7"
},
"nativeSrc": "6288:15:7",
"nodeType": "YulFunctionCall",
"src": "6288:15:7"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "6280:4:7",
"nodeType": "YulIdentifier",
"src": "6280:4:7"
}
]
},
{
"nativeSrc": "6316:44:7",
"nodeType": "YulAssignment",
"src": "6316:44:7",
"value": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "6351:8:7",
"nodeType": "YulIdentifier",
"src": "6351:8:7"
}
],
"functionName": {
"name": "shift_right_1_unsigned",
"nativeSrc": "6328:22:7",
"nodeType": "YulIdentifier",
"src": "6328:22:7"
},
"nativeSrc": "6328:32:7",
"nodeType": "YulFunctionCall",
"src": "6328:32:7"
},
"variableNames": [
{
"name": "exponent",
"nativeSrc": "6316:8:7",
"nodeType": "YulIdentifier",
"src": "6316:8:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "5669:8:7",
"nodeType": "YulIdentifier",
"src": "5669:8:7"
},
{
"kind": "number",
"nativeSrc": "5679:1:7",
"nodeType": "YulLiteral",
"src": "5679:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5666:2:7",
"nodeType": "YulIdentifier",
"src": "5666:2:7"
},
"nativeSrc": "5666:15:7",
"nodeType": "YulFunctionCall",
"src": "5666:15:7"
},
"nativeSrc": "5658:712:7",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "5682:2:7",
"nodeType": "YulBlock",
"src": "5682:2:7",
"statements": []
},
"pre": {
"nativeSrc": "5662:3:7",
"nodeType": "YulBlock",
"src": "5662:3:7",
"statements": []
},
"src": "5658:712:7"
}
]
},
"name": "checked_exp_helper",
"nativeSrc": "5528:848:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "_power",
"nativeSrc": "5556:6:7",
"nodeType": "YulTypedName",
"src": "5556:6:7",
"type": ""
},
{
"name": "_base",
"nativeSrc": "5564:5:7",
"nodeType": "YulTypedName",
"src": "5564:5:7",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "5571:8:7",
"nodeType": "YulTypedName",
"src": "5571:8:7",
"type": ""
},
{
"name": "max",
"nativeSrc": "5581:3:7",
"nodeType": "YulTypedName",
"src": "5581:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "5589:5:7",
"nodeType": "YulTypedName",
"src": "5589:5:7",
"type": ""
},
{
"name": "base",
"nativeSrc": "5596:4:7",
"nodeType": "YulTypedName",
"src": "5596:4:7",
"type": ""
}
],
"src": "5528:848:7"
},
{
"body": {
"nativeSrc": "6442:1013:7",
"nodeType": "YulBlock",
"src": "6442:1013:7",
"statements": [
{
"body": {
"nativeSrc": "6637:20:7",
"nodeType": "YulBlock",
"src": "6637:20:7",
"statements": [
{
"nativeSrc": "6639:10:7",
"nodeType": "YulAssignment",
"src": "6639:10:7",
"value": {
"kind": "number",
"nativeSrc": "6648:1:7",
"nodeType": "YulLiteral",
"src": "6648:1:7",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6639:5:7",
"nodeType": "YulIdentifier",
"src": "6639:5:7"
}
]
},
{
"nativeSrc": "6650:5:7",
"nodeType": "YulLeave",
"src": "6650:5:7"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "6627:8:7",
"nodeType": "YulIdentifier",
"src": "6627:8:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6620:6:7",
"nodeType": "YulIdentifier",
"src": "6620:6:7"
},
"nativeSrc": "6620:16:7",
"nodeType": "YulFunctionCall",
"src": "6620:16:7"
},
"nativeSrc": "6617:40:7",
"nodeType": "YulIf",
"src": "6617:40:7"
},
{
"body": {
"nativeSrc": "6682:20:7",
"nodeType": "YulBlock",
"src": "6682:20:7",
"statements": [
{
"nativeSrc": "6684:10:7",
"nodeType": "YulAssignment",
"src": "6684:10:7",
"value": {
"kind": "number",
"nativeSrc": "6693:1:7",
"nodeType": "YulLiteral",
"src": "6693:1:7",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6684:5:7",
"nodeType": "YulIdentifier",
"src": "6684:5:7"
}
]
},
{
"nativeSrc": "6695:5:7",
"nodeType": "YulLeave",
"src": "6695:5:7"
}
]
},
"condition": {
"arguments": [
{
"name": "base",
"nativeSrc": "6676:4:7",
"nodeType": "YulIdentifier",
"src": "6676:4:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6669:6:7",
"nodeType": "YulIdentifier",
"src": "6669:6:7"
},
"nativeSrc": "6669:12:7",
"nodeType": "YulFunctionCall",
"src": "6669:12:7"
},
"nativeSrc": "6666:36:7",
"nodeType": "YulIf",
"src": "6666:36:7"
},
{
"cases": [
{
"body": {
"nativeSrc": "6812:20:7",
"nodeType": "YulBlock",
"src": "6812:20:7",
"statements": [
{
"nativeSrc": "6814:10:7",
"nodeType": "YulAssignment",
"src": "6814:10:7",
"value": {
"kind": "number",
"nativeSrc": "6823:1:7",
"nodeType": "YulLiteral",
"src": "6823:1:7",
"type": "",
"value": "1"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6814:5:7",
"nodeType": "YulIdentifier",
"src": "6814:5:7"
}
]
},
{
"nativeSrc": "6825:5:7",
"nodeType": "YulLeave",
"src": "6825:5:7"
}
]
},
"nativeSrc": "6805:27:7",
"nodeType": "YulCase",
"src": "6805:27:7",
"value": {
"kind": "number",
"nativeSrc": "6810:1:7",
"nodeType": "YulLiteral",
"src": "6810:1:7",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "6856:176:7",
"nodeType": "YulBlock",
"src": "6856:176:7",
"statements": [
{
"body": {
"nativeSrc": "6891:22:7",
"nodeType": "YulBlock",
"src": "6891:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "6893:16:7",
"nodeType": "YulIdentifier",
"src": "6893:16:7"
},
"nativeSrc": "6893:18:7",
"nodeType": "YulFunctionCall",
"src": "6893:18:7"
},
"nativeSrc": "6893:18:7",
"nodeType": "YulExpressionStatement",
"src": "6893:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "6876:8:7",
"nodeType": "YulIdentifier",
"src": "6876:8:7"
},
{
"kind": "number",
"nativeSrc": "6886:3:7",
"nodeType": "YulLiteral",
"src": "6886:3:7",
"type": "",
"value": "255"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6873:2:7",
"nodeType": "YulIdentifier",
"src": "6873:2:7"
},
"nativeSrc": "6873:17:7",
"nodeType": "YulFunctionCall",
"src": "6873:17:7"
},
"nativeSrc": "6870:43:7",
"nodeType": "YulIf",
"src": "6870:43:7"
},
{
"nativeSrc": "6926:25:7",
"nodeType": "YulAssignment",
"src": "6926:25:7",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6939:1:7",
"nodeType": "YulLiteral",
"src": "6939:1:7",
"type": "",
"value": "2"
},
{
"name": "exponent",
"nativeSrc": "6942:8:7",
"nodeType": "YulIdentifier",
"src": "6942:8:7"
}
],
"functionName": {
"name": "exp",
"nativeSrc": "6935:3:7",
"nodeType": "YulIdentifier",
"src": "6935:3:7"
},
"nativeSrc": "6935:16:7",
"nodeType": "YulFunctionCall",
"src": "6935:16:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "6926:5:7",
"nodeType": "YulIdentifier",
"src": "6926:5:7"
}
]
},
{
"body": {
"nativeSrc": "6982:22:7",
"nodeType": "YulBlock",
"src": "6982:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "6984:16:7",
"nodeType": "YulIdentifier",
"src": "6984:16:7"
},
"nativeSrc": "6984:18:7",
"nodeType": "YulFunctionCall",
"src": "6984:18:7"
},
"nativeSrc": "6984:18:7",
"nodeType": "YulExpressionStatement",
"src": "6984:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "6970:5:7",
"nodeType": "YulIdentifier",
"src": "6970:5:7"
},
{
"name": "max",
"nativeSrc": "6977:3:7",
"nodeType": "YulIdentifier",
"src": "6977:3:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6967:2:7",
"nodeType": "YulIdentifier",
"src": "6967:2:7"
},
"nativeSrc": "6967:14:7",
"nodeType": "YulFunctionCall",
"src": "6967:14:7"
},
"nativeSrc": "6964:40:7",
"nodeType": "YulIf",
"src": "6964:40:7"
},
{
"nativeSrc": "7017:5:7",
"nodeType": "YulLeave",
"src": "7017:5:7"
}
]
},
"nativeSrc": "6841:191:7",
"nodeType": "YulCase",
"src": "6841:191:7",
"value": {
"kind": "number",
"nativeSrc": "6846:1:7",
"nodeType": "YulLiteral",
"src": "6846:1:7",
"type": "",
"value": "2"
}
}
],
"expression": {
"name": "base",
"nativeSrc": "6762:4:7",
"nodeType": "YulIdentifier",
"src": "6762:4:7"
},
"nativeSrc": "6755:277:7",
"nodeType": "YulSwitch",
"src": "6755:277:7"
},
{
"body": {
"nativeSrc": "7164:123:7",
"nodeType": "YulBlock",
"src": "7164:123:7",
"statements": [
{
"nativeSrc": "7178:28:7",
"nodeType": "YulAssignment",
"src": "7178:28:7",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "7191:4:7",
"nodeType": "YulIdentifier",
"src": "7191:4:7"
},
{
"name": "exponent",
"nativeSrc": "7197:8:7",
"nodeType": "YulIdentifier",
"src": "7197:8:7"
}
],
"functionName": {
"name": "exp",
"nativeSrc": "7187:3:7",
"nodeType": "YulIdentifier",
"src": "7187:3:7"
},
"nativeSrc": "7187:19:7",
"nodeType": "YulFunctionCall",
"src": "7187:19:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7178:5:7",
"nodeType": "YulIdentifier",
"src": "7178:5:7"
}
]
},
{
"body": {
"nativeSrc": "7237:22:7",
"nodeType": "YulBlock",
"src": "7237:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7239:16:7",
"nodeType": "YulIdentifier",
"src": "7239:16:7"
},
"nativeSrc": "7239:18:7",
"nodeType": "YulFunctionCall",
"src": "7239:18:7"
},
"nativeSrc": "7239:18:7",
"nodeType": "YulExpressionStatement",
"src": "7239:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "7225:5:7",
"nodeType": "YulIdentifier",
"src": "7225:5:7"
},
{
"name": "max",
"nativeSrc": "7232:3:7",
"nodeType": "YulIdentifier",
"src": "7232:3:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7222:2:7",
"nodeType": "YulIdentifier",
"src": "7222:2:7"
},
"nativeSrc": "7222:14:7",
"nodeType": "YulFunctionCall",
"src": "7222:14:7"
},
"nativeSrc": "7219:40:7",
"nodeType": "YulIf",
"src": "7219:40:7"
},
{
"nativeSrc": "7272:5:7",
"nodeType": "YulLeave",
"src": "7272:5:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nativeSrc": "7067:4:7",
"nodeType": "YulIdentifier",
"src": "7067:4:7"
},
{
"kind": "number",
"nativeSrc": "7073:2:7",
"nodeType": "YulLiteral",
"src": "7073:2:7",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7064:2:7",
"nodeType": "YulIdentifier",
"src": "7064:2:7"
},
"nativeSrc": "7064:12:7",
"nodeType": "YulFunctionCall",
"src": "7064:12:7"
},
{
"arguments": [
{
"name": "exponent",
"nativeSrc": "7081:8:7",
"nodeType": "YulIdentifier",
"src": "7081:8:7"
},
{
"kind": "number",
"nativeSrc": "7091:2:7",
"nodeType": "YulLiteral",
"src": "7091:2:7",
"type": "",
"value": "78"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7078:2:7",
"nodeType": "YulIdentifier",
"src": "7078:2:7"
},
"nativeSrc": "7078:16:7",
"nodeType": "YulFunctionCall",
"src": "7078:16:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7060:3:7",
"nodeType": "YulIdentifier",
"src": "7060:3:7"
},
"nativeSrc": "7060:35:7",
"nodeType": "YulFunctionCall",
"src": "7060:35:7"
},
{
"arguments": [
{
"arguments": [
{
"name": "base",
"nativeSrc": "7116:4:7",
"nodeType": "YulIdentifier",
"src": "7116:4:7"
},
{
"kind": "number",
"nativeSrc": "7122:3:7",
"nodeType": "YulLiteral",
"src": "7122:3:7",
"type": "",
"value": "307"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7113:2:7",
"nodeType": "YulIdentifier",
"src": "7113:2:7"
},
"nativeSrc": "7113:13:7",
"nodeType": "YulFunctionCall",
"src": "7113:13:7"
},
{
"arguments": [
{
"name": "exponent",
"nativeSrc": "7131:8:7",
"nodeType": "YulIdentifier",
"src": "7131:8:7"
},
{
"kind": "number",
"nativeSrc": "7141:2:7",
"nodeType": "YulLiteral",
"src": "7141:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7128:2:7",
"nodeType": "YulIdentifier",
"src": "7128:2:7"
},
"nativeSrc": "7128:16:7",
"nodeType": "YulFunctionCall",
"src": "7128:16:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7109:3:7",
"nodeType": "YulIdentifier",
"src": "7109:3:7"
},
"nativeSrc": "7109:36:7",
"nodeType": "YulFunctionCall",
"src": "7109:36:7"
}
],
"functionName": {
"name": "or",
"nativeSrc": "7044:2:7",
"nodeType": "YulIdentifier",
"src": "7044:2:7"
},
"nativeSrc": "7044:111:7",
"nodeType": "YulFunctionCall",
"src": "7044:111:7"
},
"nativeSrc": "7041:246:7",
"nodeType": "YulIf",
"src": "7041:246:7"
},
{
"nativeSrc": "7297:57:7",
"nodeType": "YulAssignment",
"src": "7297:57:7",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7331:1:7",
"nodeType": "YulLiteral",
"src": "7331:1:7",
"type": "",
"value": "1"
},
{
"name": "base",
"nativeSrc": "7334:4:7",
"nodeType": "YulIdentifier",
"src": "7334:4:7"
},
{
"name": "exponent",
"nativeSrc": "7340:8:7",
"nodeType": "YulIdentifier",
"src": "7340:8:7"
},
{
"name": "max",
"nativeSrc": "7350:3:7",
"nodeType": "YulIdentifier",
"src": "7350:3:7"
}
],
"functionName": {
"name": "checked_exp_helper",
"nativeSrc": "7312:18:7",
"nodeType": "YulIdentifier",
"src": "7312:18:7"
},
"nativeSrc": "7312:42:7",
"nodeType": "YulFunctionCall",
"src": "7312:42:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7297:5:7",
"nodeType": "YulIdentifier",
"src": "7297:5:7"
},
{
"name": "base",
"nativeSrc": "7304:4:7",
"nodeType": "YulIdentifier",
"src": "7304:4:7"
}
]
},
{
"body": {
"nativeSrc": "7393:22:7",
"nodeType": "YulBlock",
"src": "7393:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7395:16:7",
"nodeType": "YulIdentifier",
"src": "7395:16:7"
},
"nativeSrc": "7395:18:7",
"nodeType": "YulFunctionCall",
"src": "7395:18:7"
},
"nativeSrc": "7395:18:7",
"nodeType": "YulExpressionStatement",
"src": "7395:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "power",
"nativeSrc": "7370:5:7",
"nodeType": "YulIdentifier",
"src": "7370:5:7"
},
{
"arguments": [
{
"name": "max",
"nativeSrc": "7381:3:7",
"nodeType": "YulIdentifier",
"src": "7381:3:7"
},
{
"name": "base",
"nativeSrc": "7386:4:7",
"nodeType": "YulIdentifier",
"src": "7386:4:7"
}
],
"functionName": {
"name": "div",
"nativeSrc": "7377:3:7",
"nodeType": "YulIdentifier",
"src": "7377:3:7"
},
"nativeSrc": "7377:14:7",
"nodeType": "YulFunctionCall",
"src": "7377:14:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7367:2:7",
"nodeType": "YulIdentifier",
"src": "7367:2:7"
},
"nativeSrc": "7367:25:7",
"nodeType": "YulFunctionCall",
"src": "7367:25:7"
},
"nativeSrc": "7364:51:7",
"nodeType": "YulIf",
"src": "7364:51:7"
},
{
"nativeSrc": "7424:25:7",
"nodeType": "YulAssignment",
"src": "7424:25:7",
"value": {
"arguments": [
{
"name": "power",
"nativeSrc": "7437:5:7",
"nodeType": "YulIdentifier",
"src": "7437:5:7"
},
{
"name": "base",
"nativeSrc": "7444:4:7",
"nodeType": "YulIdentifier",
"src": "7444:4:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7433:3:7",
"nodeType": "YulIdentifier",
"src": "7433:3:7"
},
"nativeSrc": "7433:16:7",
"nodeType": "YulFunctionCall",
"src": "7433:16:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7424:5:7",
"nodeType": "YulIdentifier",
"src": "7424:5:7"
}
]
}
]
},
"name": "checked_exp_unsigned",
"nativeSrc": "6382:1073:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nativeSrc": "6412:4:7",
"nodeType": "YulTypedName",
"src": "6412:4:7",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "6418:8:7",
"nodeType": "YulTypedName",
"src": "6418:8:7",
"type": ""
},
{
"name": "max",
"nativeSrc": "6428:3:7",
"nodeType": "YulTypedName",
"src": "6428:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "6436:5:7",
"nodeType": "YulTypedName",
"src": "6436:5:7",
"type": ""
}
],
"src": "6382:1073:7"
},
{
"body": {
"nativeSrc": "7504:43:7",
"nodeType": "YulBlock",
"src": "7504:43:7",
"statements": [
{
"nativeSrc": "7514:27:7",
"nodeType": "YulAssignment",
"src": "7514:27:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7529:5:7",
"nodeType": "YulIdentifier",
"src": "7529:5:7"
},
{
"kind": "number",
"nativeSrc": "7536:4:7",
"nodeType": "YulLiteral",
"src": "7536:4:7",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7525:3:7",
"nodeType": "YulIdentifier",
"src": "7525:3:7"
},
"nativeSrc": "7525:16:7",
"nodeType": "YulFunctionCall",
"src": "7525:16:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "7514:7:7",
"nodeType": "YulIdentifier",
"src": "7514:7:7"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "7461:86:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7486:5:7",
"nodeType": "YulTypedName",
"src": "7486:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "7496:7:7",
"nodeType": "YulTypedName",
"src": "7496:7:7",
"type": ""
}
],
"src": "7461:86:7"
},
{
"body": {
"nativeSrc": "7617:217:7",
"nodeType": "YulBlock",
"src": "7617:217:7",
"statements": [
{
"nativeSrc": "7627:31:7",
"nodeType": "YulAssignment",
"src": "7627:31:7",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "7653:4:7",
"nodeType": "YulIdentifier",
"src": "7653:4:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7635:17:7",
"nodeType": "YulIdentifier",
"src": "7635:17:7"
},
"nativeSrc": "7635:23:7",
"nodeType": "YulFunctionCall",
"src": "7635:23:7"
},
"variableNames": [
{
"name": "base",
"nativeSrc": "7627:4:7",
"nodeType": "YulIdentifier",
"src": "7627:4:7"
}
]
},
{
"nativeSrc": "7667:37:7",
"nodeType": "YulAssignment",
"src": "7667:37:7",
"value": {
"arguments": [
{
"name": "exponent",
"nativeSrc": "7695:8:7",
"nodeType": "YulIdentifier",
"src": "7695:8:7"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "7679:15:7",
"nodeType": "YulIdentifier",
"src": "7679:15:7"
},
"nativeSrc": "7679:25:7",
"nodeType": "YulFunctionCall",
"src": "7679:25:7"
},
"variableNames": [
{
"name": "exponent",
"nativeSrc": "7667:8:7",
"nodeType": "YulIdentifier",
"src": "7667:8:7"
}
]
},
{
"nativeSrc": "7714:113:7",
"nodeType": "YulAssignment",
"src": "7714:113:7",
"value": {
"arguments": [
{
"name": "base",
"nativeSrc": "7744:4:7",
"nodeType": "YulIdentifier",
"src": "7744:4:7"
},
{
"name": "exponent",
"nativeSrc": "7750:8:7",
"nodeType": "YulIdentifier",
"src": "7750:8:7"
},
{
"kind": "number",
"nativeSrc": "7760:66:7",
"nodeType": "YulLiteral",
"src": "7760:66:7",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "checked_exp_unsigned",
"nativeSrc": "7723:20:7",
"nodeType": "YulIdentifier",
"src": "7723:20:7"
},
"nativeSrc": "7723:104:7",
"nodeType": "YulFunctionCall",
"src": "7723:104:7"
},
"variableNames": [
{
"name": "power",
"nativeSrc": "7714:5:7",
"nodeType": "YulIdentifier",
"src": "7714:5:7"
}
]
}
]
},
"name": "checked_exp_t_uint256_t_uint8",
"nativeSrc": "7553:281:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "base",
"nativeSrc": "7592:4:7",
"nodeType": "YulTypedName",
"src": "7592:4:7",
"type": ""
},
{
"name": "exponent",
"nativeSrc": "7598:8:7",
"nodeType": "YulTypedName",
"src": "7598:8:7",
"type": ""
}
],
"returnVariables": [
{
"name": "power",
"nativeSrc": "7611:5:7",
"nodeType": "YulTypedName",
"src": "7611:5:7",
"type": ""
}
],
"src": "7553:281:7"
},
{
"body": {
"nativeSrc": "7888:362:7",
"nodeType": "YulBlock",
"src": "7888:362:7",
"statements": [
{
"nativeSrc": "7898:25:7",
"nodeType": "YulAssignment",
"src": "7898:25:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7921:1:7",
"nodeType": "YulIdentifier",
"src": "7921:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7903:17:7",
"nodeType": "YulIdentifier",
"src": "7903:17:7"
},
"nativeSrc": "7903:20:7",
"nodeType": "YulFunctionCall",
"src": "7903:20:7"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "7898:1:7",
"nodeType": "YulIdentifier",
"src": "7898:1:7"
}
]
},
{
"nativeSrc": "7932:25:7",
"nodeType": "YulAssignment",
"src": "7932:25:7",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "7955:1:7",
"nodeType": "YulIdentifier",
"src": "7955:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7937:17:7",
"nodeType": "YulIdentifier",
"src": "7937:17:7"
},
"nativeSrc": "7937:20:7",
"nodeType": "YulFunctionCall",
"src": "7937:20:7"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "7932:1:7",
"nodeType": "YulIdentifier",
"src": "7932:1:7"
}
]
},
{
"nativeSrc": "7966:28:7",
"nodeType": "YulVariableDeclaration",
"src": "7966:28:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7989:1:7",
"nodeType": "YulIdentifier",
"src": "7989:1:7"
},
{
"name": "y",
"nativeSrc": "7992:1:7",
"nodeType": "YulIdentifier",
"src": "7992:1:7"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7985:3:7",
"nodeType": "YulIdentifier",
"src": "7985:3:7"
},
"nativeSrc": "7985:9:7",
"nodeType": "YulFunctionCall",
"src": "7985:9:7"
},
"variables": [
{
"name": "product_raw",
"nativeSrc": "7970:11:7",
"nodeType": "YulTypedName",
"src": "7970:11:7",
"type": ""
}
]
},
{
"nativeSrc": "8003:41:7",
"nodeType": "YulAssignment",
"src": "8003:41:7",
"value": {
"arguments": [
{
"name": "product_raw",
"nativeSrc": "8032:11:7",
"nodeType": "YulIdentifier",
"src": "8032:11:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8014:17:7",
"nodeType": "YulIdentifier",
"src": "8014:17:7"
},
"nativeSrc": "8014:30:7",
"nodeType": "YulFunctionCall",
"src": "8014:30:7"
},
"variableNames": [
{
"name": "product",
"nativeSrc": "8003:7:7",
"nodeType": "YulIdentifier",
"src": "8003:7:7"
}
]
},
{
"body": {
"nativeSrc": "8221:22:7",
"nodeType": "YulBlock",
"src": "8221:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "8223:16:7",
"nodeType": "YulIdentifier",
"src": "8223:16:7"
},
"nativeSrc": "8223:18:7",
"nodeType": "YulFunctionCall",
"src": "8223:18:7"
},
"nativeSrc": "8223:18:7",
"nodeType": "YulExpressionStatement",
"src": "8223:18:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nativeSrc": "8154:1:7",
"nodeType": "YulIdentifier",
"src": "8154:1:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "8147:6:7",
"nodeType": "YulIdentifier",
"src": "8147:6:7"
},
"nativeSrc": "8147:9:7",
"nodeType": "YulFunctionCall",
"src": "8147:9:7"
},
{
"arguments": [
{
"name": "y",
"nativeSrc": "8177:1:7",
"nodeType": "YulIdentifier",
"src": "8177:1:7"
},
{
"arguments": [
{
"name": "product",
"nativeSrc": "8184:7:7",
"nodeType": "YulIdentifier",
"src": "8184:7:7"
},
{
"name": "x",
"nativeSrc": "8193:1:7",
"nodeType": "YulIdentifier",
"src": "8193:1:7"
}
],
"functionName": {
"name": "div",
"nativeSrc": "8180:3:7",
"nodeType": "YulIdentifier",
"src": "8180:3:7"
},
"nativeSrc": "8180:15:7",
"nodeType": "YulFunctionCall",
"src": "8180:15:7"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "8174:2:7",
"nodeType": "YulIdentifier",
"src": "8174:2:7"
},
"nativeSrc": "8174:22:7",
"nodeType": "YulFunctionCall",
"src": "8174:22:7"
}
],
"functionName": {
"name": "or",
"nativeSrc": "8127:2:7",
"nodeType": "YulIdentifier",
"src": "8127:2:7"
},
"nativeSrc": "8127:83:7",
"nodeType": "YulFunctionCall",
"src": "8127:83:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "8107:6:7",
"nodeType": "YulIdentifier",
"src": "8107:6:7"
},
"nativeSrc": "8107:113:7",
"nodeType": "YulFunctionCall",
"src": "8107:113:7"
},
"nativeSrc": "8104:139:7",
"nodeType": "YulIf",
"src": "8104:139:7"
}
]
},
"name": "checked_mul_t_uint256",
"nativeSrc": "7840:410:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "7871:1:7",
"nodeType": "YulTypedName",
"src": "7871:1:7",
"type": ""
},
{
"name": "y",
"nativeSrc": "7874:1:7",
"nodeType": "YulTypedName",
"src": "7874:1:7",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nativeSrc": "7880:7:7",
"nodeType": "YulTypedName",
"src": "7880:7:7",
"type": ""
}
],
"src": "7840:410:7"
},
{
"body": {
"nativeSrc": "8301:81:7",
"nodeType": "YulBlock",
"src": "8301:81:7",
"statements": [
{
"nativeSrc": "8311:65:7",
"nodeType": "YulAssignment",
"src": "8311:65:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8326:5:7",
"nodeType": "YulIdentifier",
"src": "8326:5:7"
},
{
"kind": "number",
"nativeSrc": "8333:42:7",
"nodeType": "YulLiteral",
"src": "8333:42:7",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8322:3:7",
"nodeType": "YulIdentifier",
"src": "8322:3:7"
},
"nativeSrc": "8322:54:7",
"nodeType": "YulFunctionCall",
"src": "8322:54:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "8311:7:7",
"nodeType": "YulIdentifier",
"src": "8311:7:7"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "8256:126:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8283:5:7",
"nodeType": "YulTypedName",
"src": "8283:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "8293:7:7",
"nodeType": "YulTypedName",
"src": "8293:7:7",
"type": ""
}
],
"src": "8256:126:7"
},
{
"body": {
"nativeSrc": "8433:51:7",
"nodeType": "YulBlock",
"src": "8433:51:7",
"statements": [
{
"nativeSrc": "8443:35:7",
"nodeType": "YulAssignment",
"src": "8443:35:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8472:5:7",
"nodeType": "YulIdentifier",
"src": "8472:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "8454:17:7",
"nodeType": "YulIdentifier",
"src": "8454:17:7"
},
"nativeSrc": "8454:24:7",
"nodeType": "YulFunctionCall",
"src": "8454:24:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "8443:7:7",
"nodeType": "YulIdentifier",
"src": "8443:7:7"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "8388:96:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8415:5:7",
"nodeType": "YulTypedName",
"src": "8415:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "8425:7:7",
"nodeType": "YulTypedName",
"src": "8425:7:7",
"type": ""
}
],
"src": "8388:96:7"
},
{
"body": {
"nativeSrc": "8555:53:7",
"nodeType": "YulBlock",
"src": "8555:53:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8572:3:7",
"nodeType": "YulIdentifier",
"src": "8572:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "8595:5:7",
"nodeType": "YulIdentifier",
"src": "8595:5:7"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "8577:17:7",
"nodeType": "YulIdentifier",
"src": "8577:17:7"
},
"nativeSrc": "8577:24:7",
"nodeType": "YulFunctionCall",
"src": "8577:24:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8565:6:7",
"nodeType": "YulIdentifier",
"src": "8565:6:7"
},
"nativeSrc": "8565:37:7",
"nodeType": "YulFunctionCall",
"src": "8565:37:7"
},
"nativeSrc": "8565:37:7",
"nodeType": "YulExpressionStatement",
"src": "8565:37:7"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "8490:118:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8543:5:7",
"nodeType": "YulTypedName",
"src": "8543:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "8550:3:7",
"nodeType": "YulTypedName",
"src": "8550:3:7",
"type": ""
}
],
"src": "8490:118:7"
},
{
"body": {
"nativeSrc": "8712:124:7",
"nodeType": "YulBlock",
"src": "8712:124:7",
"statements": [
{
"nativeSrc": "8722:26:7",
"nodeType": "YulAssignment",
"src": "8722:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "8734:9:7",
"nodeType": "YulIdentifier",
"src": "8734:9:7"
},
{
"kind": "number",
"nativeSrc": "8745:2:7",
"nodeType": "YulLiteral",
"src": "8745:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8730:3:7",
"nodeType": "YulIdentifier",
"src": "8730:3:7"
},
"nativeSrc": "8730:18:7",
"nodeType": "YulFunctionCall",
"src": "8730:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8722:4:7",
"nodeType": "YulIdentifier",
"src": "8722:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8802:6:7",
"nodeType": "YulIdentifier",
"src": "8802:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8815:9:7",
"nodeType": "YulIdentifier",
"src": "8815:9:7"
},
{
"kind": "number",
"nativeSrc": "8826:1:7",
"nodeType": "YulLiteral",
"src": "8826:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8811:3:7",
"nodeType": "YulIdentifier",
"src": "8811:3:7"
},
"nativeSrc": "8811:17:7",
"nodeType": "YulFunctionCall",
"src": "8811:17:7"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "8758:43:7",
"nodeType": "YulIdentifier",
"src": "8758:43:7"
},
"nativeSrc": "8758:71:7",
"nodeType": "YulFunctionCall",
"src": "8758:71:7"
},
"nativeSrc": "8758:71:7",
"nodeType": "YulExpressionStatement",
"src": "8758:71:7"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "8614:222:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8684:9:7",
"nodeType": "YulTypedName",
"src": "8684:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8696:6:7",
"nodeType": "YulTypedName",
"src": "8696:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "8707:4:7",
"nodeType": "YulTypedName",
"src": "8707:4:7",
"type": ""
}
],
"src": "8614:222:7"
},
{
"body": {
"nativeSrc": "8886:147:7",
"nodeType": "YulBlock",
"src": "8886:147:7",
"statements": [
{
"nativeSrc": "8896:25:7",
"nodeType": "YulAssignment",
"src": "8896:25:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "8919:1:7",
"nodeType": "YulIdentifier",
"src": "8919:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8901:17:7",
"nodeType": "YulIdentifier",
"src": "8901:17:7"
},
"nativeSrc": "8901:20:7",
"nodeType": "YulFunctionCall",
"src": "8901:20:7"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "8896:1:7",
"nodeType": "YulIdentifier",
"src": "8896:1:7"
}
]
},
{
"nativeSrc": "8930:25:7",
"nodeType": "YulAssignment",
"src": "8930:25:7",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "8953:1:7",
"nodeType": "YulIdentifier",
"src": "8953:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8935:17:7",
"nodeType": "YulIdentifier",
"src": "8935:17:7"
},
"nativeSrc": "8935:20:7",
"nodeType": "YulFunctionCall",
"src": "8935:20:7"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "8930:1:7",
"nodeType": "YulIdentifier",
"src": "8930:1:7"
}
]
},
{
"nativeSrc": "8964:16:7",
"nodeType": "YulAssignment",
"src": "8964:16:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "8975:1:7",
"nodeType": "YulIdentifier",
"src": "8975:1:7"
},
{
"name": "y",
"nativeSrc": "8978:1:7",
"nodeType": "YulIdentifier",
"src": "8978:1:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8971:3:7",
"nodeType": "YulIdentifier",
"src": "8971:3:7"
},
"nativeSrc": "8971:9:7",
"nodeType": "YulFunctionCall",
"src": "8971:9:7"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "8964:3:7",
"nodeType": "YulIdentifier",
"src": "8964:3:7"
}
]
},
{
"body": {
"nativeSrc": "9004:22:7",
"nodeType": "YulBlock",
"src": "9004:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "9006:16:7",
"nodeType": "YulIdentifier",
"src": "9006:16:7"
},
"nativeSrc": "9006:18:7",
"nodeType": "YulFunctionCall",
"src": "9006:18:7"
},
"nativeSrc": "9006:18:7",
"nodeType": "YulExpressionStatement",
"src": "9006:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "8996:1:7",
"nodeType": "YulIdentifier",
"src": "8996:1:7"
},
{
"name": "sum",
"nativeSrc": "8999:3:7",
"nodeType": "YulIdentifier",
"src": "8999:3:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8993:2:7",
"nodeType": "YulIdentifier",
"src": "8993:2:7"
},
"nativeSrc": "8993:10:7",
"nodeType": "YulFunctionCall",
"src": "8993:10:7"
},
"nativeSrc": "8990:36:7",
"nodeType": "YulIf",
"src": "8990:36:7"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "8842:191:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "8873:1:7",
"nodeType": "YulTypedName",
"src": "8873:1:7",
"type": ""
},
{
"name": "y",
"nativeSrc": "8876:1:7",
"nodeType": "YulTypedName",
"src": "8876:1:7",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "8882:3:7",
"nodeType": "YulTypedName",
"src": "8882:3:7",
"type": ""
}
],
"src": "8842:191:7"
},
{
"body": {
"nativeSrc": "9104:53:7",
"nodeType": "YulBlock",
"src": "9104:53:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9121:3:7",
"nodeType": "YulIdentifier",
"src": "9121:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "9144:5:7",
"nodeType": "YulIdentifier",
"src": "9144:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "9126:17:7",
"nodeType": "YulIdentifier",
"src": "9126:17:7"
},
"nativeSrc": "9126:24:7",
"nodeType": "YulFunctionCall",
"src": "9126:24:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9114:6:7",
"nodeType": "YulIdentifier",
"src": "9114:6:7"
},
"nativeSrc": "9114:37:7",
"nodeType": "YulFunctionCall",
"src": "9114:37:7"
},
"nativeSrc": "9114:37:7",
"nodeType": "YulExpressionStatement",
"src": "9114:37:7"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9039:118:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9092:5:7",
"nodeType": "YulTypedName",
"src": "9092:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "9099:3:7",
"nodeType": "YulTypedName",
"src": "9099:3:7",
"type": ""
}
],
"src": "9039:118:7"
},
{
"body": {
"nativeSrc": "9317:288:7",
"nodeType": "YulBlock",
"src": "9317:288:7",
"statements": [
{
"nativeSrc": "9327:26:7",
"nodeType": "YulAssignment",
"src": "9327:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "9339:9:7",
"nodeType": "YulIdentifier",
"src": "9339:9:7"
},
{
"kind": "number",
"nativeSrc": "9350:2:7",
"nodeType": "YulLiteral",
"src": "9350:2:7",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9335:3:7",
"nodeType": "YulIdentifier",
"src": "9335:3:7"
},
"nativeSrc": "9335:18:7",
"nodeType": "YulFunctionCall",
"src": "9335:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "9327:4:7",
"nodeType": "YulIdentifier",
"src": "9327:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "9407:6:7",
"nodeType": "YulIdentifier",
"src": "9407:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9420:9:7",
"nodeType": "YulIdentifier",
"src": "9420:9:7"
},
{
"kind": "number",
"nativeSrc": "9431:1:7",
"nodeType": "YulLiteral",
"src": "9431:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9416:3:7",
"nodeType": "YulIdentifier",
"src": "9416:3:7"
},
"nativeSrc": "9416:17:7",
"nodeType": "YulFunctionCall",
"src": "9416:17:7"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "9363:43:7",
"nodeType": "YulIdentifier",
"src": "9363:43:7"
},
"nativeSrc": "9363:71:7",
"nodeType": "YulFunctionCall",
"src": "9363:71:7"
},
"nativeSrc": "9363:71:7",
"nodeType": "YulExpressionStatement",
"src": "9363:71:7"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "9488:6:7",
"nodeType": "YulIdentifier",
"src": "9488:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9501:9:7",
"nodeType": "YulIdentifier",
"src": "9501:9:7"
},
{
"kind": "number",
"nativeSrc": "9512:2:7",
"nodeType": "YulLiteral",
"src": "9512:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9497:3:7",
"nodeType": "YulIdentifier",
"src": "9497:3:7"
},
"nativeSrc": "9497:18:7",
"nodeType": "YulFunctionCall",
"src": "9497:18:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9444:43:7",
"nodeType": "YulIdentifier",
"src": "9444:43:7"
},
"nativeSrc": "9444:72:7",
"nodeType": "YulFunctionCall",
"src": "9444:72:7"
},
"nativeSrc": "9444:72:7",
"nodeType": "YulExpressionStatement",
"src": "9444:72:7"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "9570:6:7",
"nodeType": "YulIdentifier",
"src": "9570:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9583:9:7",
"nodeType": "YulIdentifier",
"src": "9583:9:7"
},
{
"kind": "number",
"nativeSrc": "9594:2:7",
"nodeType": "YulLiteral",
"src": "9594:2:7",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9579:3:7",
"nodeType": "YulIdentifier",
"src": "9579:3:7"
},
"nativeSrc": "9579:18:7",
"nodeType": "YulFunctionCall",
"src": "9579:18:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9526:43:7",
"nodeType": "YulIdentifier",
"src": "9526:43:7"
},
"nativeSrc": "9526:72:7",
"nodeType": "YulFunctionCall",
"src": "9526:72:7"
},
"nativeSrc": "9526:72:7",
"nodeType": "YulExpressionStatement",
"src": "9526:72:7"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed",
"nativeSrc": "9163:442:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "9273:9:7",
"nodeType": "YulTypedName",
"src": "9273:9:7",
"type": ""
},
{
"name": "value2",
"nativeSrc": "9285:6:7",
"nodeType": "YulTypedName",
"src": "9285:6:7",
"type": ""
},
{
"name": "value1",
"nativeSrc": "9293:6:7",
"nodeType": "YulTypedName",
"src": "9293:6:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "9301:6:7",
"nodeType": "YulTypedName",
"src": "9301:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "9312:4:7",
"nodeType": "YulTypedName",
"src": "9312:4:7",
"type": ""
}
],
"src": "9163:442:7"
},
{
"body": {
"nativeSrc": "9709:124:7",
"nodeType": "YulBlock",
"src": "9709:124:7",
"statements": [
{
"nativeSrc": "9719:26:7",
"nodeType": "YulAssignment",
"src": "9719:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "9731:9:7",
"nodeType": "YulIdentifier",
"src": "9731:9:7"
},
{
"kind": "number",
"nativeSrc": "9742:2:7",
"nodeType": "YulLiteral",
"src": "9742:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9727:3:7",
"nodeType": "YulIdentifier",
"src": "9727:3:7"
},
"nativeSrc": "9727:18:7",
"nodeType": "YulFunctionCall",
"src": "9727:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "9719:4:7",
"nodeType": "YulIdentifier",
"src": "9719:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "9799:6:7",
"nodeType": "YulIdentifier",
"src": "9799:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9812:9:7",
"nodeType": "YulIdentifier",
"src": "9812:9:7"
},
{
"kind": "number",
"nativeSrc": "9823:1:7",
"nodeType": "YulLiteral",
"src": "9823:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9808:3:7",
"nodeType": "YulIdentifier",
"src": "9808:3:7"
},
"nativeSrc": "9808:17:7",
"nodeType": "YulFunctionCall",
"src": "9808:17:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "9755:43:7",
"nodeType": "YulIdentifier",
"src": "9755:43:7"
},
"nativeSrc": "9755:71:7",
"nodeType": "YulFunctionCall",
"src": "9755:71:7"
},
"nativeSrc": "9755:71:7",
"nodeType": "YulExpressionStatement",
"src": "9755:71:7"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "9611:222:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "9681:9:7",
"nodeType": "YulTypedName",
"src": "9681:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "9693:6:7",
"nodeType": "YulTypedName",
"src": "9693:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "9704:4:7",
"nodeType": "YulTypedName",
"src": "9704:4:7",
"type": ""
}
],
"src": "9611:222:7"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\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 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 array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function checked_exp_t_uint256_t_uint8(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint8(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\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}\n",
"id": 7,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801562000010575f80fd5b506040518060400160405280600b81526020017f46696c65636f696e4465760000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4446494c0000000000000000000000000000000000000000000000000000000081525081600390816200008e919062000602565b508060049081620000a0919062000602565b505050620000e233620000b8620000e860201b60201c565b600a620000c691906200086f565b62989680620000d69190620008bf565b620000f060201b60201c565b62000a08565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000163575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200015a91906200094c565b60405180910390fd5b620001765f83836200017a60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001ce578060025f828254620001c1919062000967565b925050819055506200029f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200025a578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200025193929190620009b2565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002e8578060025f828254039250508190555062000332565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003919190620009ed565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200041a57607f821691505b60208210810362000430576200042f620003d5565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000457565b620004a0868362000457565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004ea620004e4620004de84620004b8565b620004c1565b620004b8565b9050919050565b5f819050919050565b6200050583620004ca565b6200051d6200051482620004f1565b84845462000463565b825550505050565b5f90565b6200053362000525565b62000540818484620004fa565b505050565b5b8181101562000567576200055b5f8262000529565b60018101905062000546565b5050565b601f821115620005b657620005808162000436565b6200058b8462000448565b810160208510156200059b578190505b620005b3620005aa8562000448565b83018262000545565b50505b505050565b5f82821c905092915050565b5f620005d85f1984600802620005bb565b1980831691505092915050565b5f620005f28383620005c7565b9150826002028217905092915050565b6200060d826200039e565b67ffffffffffffffff811115620006295762000628620003a8565b5b62000635825462000402565b620006428282856200056b565b5f60209050601f83116001811462000678575f841562000663578287015190505b6200066f8582620005e5565b865550620006de565b601f198416620006888662000436565b5f5b82811015620006b1578489015182556001820191506020850194506020810190506200068a565b86831015620006d15784890151620006cd601f891682620005c7565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200077057808604811115620007485762000747620006e6565b5b6001851615620007585780820291505b8081029050620007688562000713565b945062000728565b94509492505050565b5f826200078a57600190506200085c565b8162000799575f90506200085c565b8160018114620007b25760028114620007bd57620007f3565b60019150506200085c565b60ff841115620007d257620007d1620006e6565b5b8360020a915084821115620007ec57620007eb620006e6565b5b506200085c565b5060208310610133831016604e8410600b84101617156200082d5782820a905083811115620008275762000826620006e6565b5b6200085c565b6200083c84848460016200071f565b92509050818404811115620008565762000855620006e6565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200087b82620004b8565b9150620008888362000863565b9250620008b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000779565b905092915050565b5f620008cb82620004b8565b9150620008d883620004b8565b9250828202620008e881620004b8565b91508282048414831517620009025762000901620006e6565b5b5092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009348262000909565b9050919050565b620009468162000928565b82525050565b5f602082019050620009615f8301846200093b565b92915050565b5f6200097382620004b8565b91506200098083620004b8565b92508282019050808211156200099b576200099a620006e6565b5b92915050565b620009ac81620004b8565b82525050565b5f606082019050620009c75f8301866200093b565b620009d66020830185620009a1565b620009e56040830184620009a1565b949350505050565b5f60208201905062000a025f830184620009a1565b92915050565b610dfb8062000a165f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a74565b60405180910390f35b6100cd60048036038101906100c89190610b25565b61028d565b6040516100da9190610b7d565b60405180910390f35b6100eb6102af565b6040516100f89190610ba5565b60405180910390f35b61011b60048036038101906101169190610bbe565b6102b8565b6040516101289190610b7d565b60405180910390f35b6101396102e6565b6040516101469190610c29565b60405180910390f35b61016960048036038101906101649190610c42565b6102ee565b6040516101769190610ba5565b60405180910390f35b610187610333565b6040516101949190610a74565b60405180910390f35b6101b760048036038101906101b29190610b25565b6103c3565b6040516101c49190610b7d565b60405180910390f35b6101e760048036038101906101e29190610c6d565b6103e5565b6040516101f49190610ba5565b60405180910390f35b60606003805461020c90610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd8565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610512565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd8565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610512565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610602565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461050c57818110156104fd578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016104f493929190610d17565b60405180910390fd5b61050b84848484035f610602565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610582575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105799190610d4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f2575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016105e99190610d4c565b60405180910390fd5b6105fd8383836107d1565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610672575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016106699190610d4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e2575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016106d99190610d4c565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cb578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c29190610ba5565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610821578060025f8282546108159190610d92565b925050819055506108ef565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108aa578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016108a193929190610d17565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610936578060025f8282540392505081905550610980565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109dd9190610ba5565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a21578082015181840152602081019050610a06565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a46826109ea565b610a5081856109f4565b9350610a60818560208601610a04565b610a6981610a2c565b840191505092915050565b5f6020820190508181035f830152610a8c8184610a3c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac182610a98565b9050919050565b610ad181610ab7565b8114610adb575f80fd5b50565b5f81359050610aec81610ac8565b92915050565b5f819050919050565b610b0481610af2565b8114610b0e575f80fd5b50565b5f81359050610b1f81610afb565b92915050565b5f8060408385031215610b3b57610b3a610a94565b5b5f610b4885828601610ade565b9250506020610b5985828601610b11565b9150509250929050565b5f8115159050919050565b610b7781610b63565b82525050565b5f602082019050610b905f830184610b6e565b92915050565b610b9f81610af2565b82525050565b5f602082019050610bb85f830184610b96565b92915050565b5f805f60608486031215610bd557610bd4610a94565b5b5f610be286828701610ade565b9350506020610bf386828701610ade565b9250506040610c0486828701610b11565b9150509250925092565b5f60ff82169050919050565b610c2381610c0e565b82525050565b5f602082019050610c3c5f830184610c1a565b92915050565b5f60208284031215610c5757610c56610a94565b5b5f610c6484828501610ade565b91505092915050565b5f8060408385031215610c8357610c82610a94565b5b5f610c9085828601610ade565b9250506020610ca185828601610ade565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cef57607f821691505b602082108103610d0257610d01610cab565b5b50919050565b610d1181610ab7565b82525050565b5f606082019050610d2a5f830186610d08565b610d376020830185610b96565b610d446040830184610b96565b949350505050565b5f602082019050610d5f5f830184610d08565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9c82610af2565b9150610da783610af2565b9250828201905080821115610dbf57610dbe610d65565b5b9291505056fea2646970667358221220d0d0a4f128554b4bf5d8c4f2bfa8e57667fdc314f5875706b576b47d07e4889f64736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x46696C65636F696E446576000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4446494C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x8E SWAP2 SWAP1 PUSH3 0x602 JUMP JUMPDEST POP DUP1 PUSH1 0x4 SWAP1 DUP2 PUSH3 0xA0 SWAP2 SWAP1 PUSH3 0x602 JUMP JUMPDEST POP POP POP PUSH3 0xE2 CALLER PUSH3 0xB8 PUSH3 0xE8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0xA PUSH3 0xC6 SWAP2 SWAP1 PUSH3 0x86F JUMP JUMPDEST PUSH3 0x989680 PUSH3 0xD6 SWAP2 SWAP1 PUSH3 0x8BF JUMP JUMPDEST PUSH3 0xF0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xA08 JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x163 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x15A SWAP2 SWAP1 PUSH3 0x94C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x176 PUSH0 DUP4 DUP4 PUSH3 0x17A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x1CE JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD PUSH3 0x1C1 SWAP2 SWAP1 PUSH3 0x967 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH3 0x29F JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH3 0x25A JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x251 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x9B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x2E8 JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH3 0x332 JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH3 0x391 SWAP2 SWAP1 PUSH3 0x9ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x41A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x430 JUMPI PUSH3 0x42F PUSH3 0x3D5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH3 0x494 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x457 JUMP JUMPDEST PUSH3 0x4A0 DUP7 DUP4 PUSH3 0x457 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x4EA PUSH3 0x4E4 PUSH3 0x4DE DUP5 PUSH3 0x4B8 JUMP JUMPDEST PUSH3 0x4C1 JUMP JUMPDEST PUSH3 0x4B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x505 DUP4 PUSH3 0x4CA JUMP JUMPDEST PUSH3 0x51D PUSH3 0x514 DUP3 PUSH3 0x4F1 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x463 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x533 PUSH3 0x525 JUMP JUMPDEST PUSH3 0x540 DUP2 DUP5 DUP5 PUSH3 0x4FA JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x567 JUMPI PUSH3 0x55B PUSH0 DUP3 PUSH3 0x529 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x546 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x5B6 JUMPI PUSH3 0x580 DUP2 PUSH3 0x436 JUMP JUMPDEST PUSH3 0x58B DUP5 PUSH3 0x448 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x59B JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x5B3 PUSH3 0x5AA DUP6 PUSH3 0x448 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x545 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x5D8 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x5BB JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x5F2 DUP4 DUP4 PUSH3 0x5C7 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x60D DUP3 PUSH3 0x39E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x629 JUMPI PUSH3 0x628 PUSH3 0x3A8 JUMP JUMPDEST JUMPDEST PUSH3 0x635 DUP3 SLOAD PUSH3 0x402 JUMP JUMPDEST PUSH3 0x642 DUP3 DUP3 DUP6 PUSH3 0x56B JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x678 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x663 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x66F DUP6 DUP3 PUSH3 0x5E5 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x6DE JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x688 DUP7 PUSH3 0x436 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x6B1 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x68A JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x6D1 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x6CD PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x5C7 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP2 PUSH1 0x1 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP3 SWAP2 POP DUP4 SWAP1 POP JUMPDEST PUSH1 0x1 DUP6 GT ISZERO PUSH3 0x770 JUMPI DUP1 DUP7 DIV DUP2 GT ISZERO PUSH3 0x748 JUMPI PUSH3 0x747 PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 AND ISZERO PUSH3 0x758 JUMPI DUP1 DUP3 MUL SWAP2 POP JUMPDEST DUP1 DUP2 MUL SWAP1 POP PUSH3 0x768 DUP6 PUSH3 0x713 JUMP JUMPDEST SWAP5 POP PUSH3 0x728 JUMP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH3 0x78A JUMPI PUSH1 0x1 SWAP1 POP PUSH3 0x85C JUMP JUMPDEST DUP2 PUSH3 0x799 JUMPI PUSH0 SWAP1 POP PUSH3 0x85C JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x7B2 JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x7BD JUMPI PUSH3 0x7F3 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x85C JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x7D2 JUMPI PUSH3 0x7D1 PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x2 EXP SWAP2 POP DUP5 DUP3 GT ISZERO PUSH3 0x7EC JUMPI PUSH3 0x7EB PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST POP PUSH3 0x85C JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x82D JUMPI DUP3 DUP3 EXP SWAP1 POP DUP4 DUP2 GT ISZERO PUSH3 0x827 JUMPI PUSH3 0x826 PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST PUSH3 0x85C JUMP JUMPDEST PUSH3 0x83C DUP5 DUP5 DUP5 PUSH1 0x1 PUSH3 0x71F JUMP JUMPDEST SWAP3 POP SWAP1 POP DUP2 DUP5 DIV DUP2 GT ISZERO PUSH3 0x856 JUMPI PUSH3 0x855 PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST DUP2 DUP2 MUL SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x87B DUP3 PUSH3 0x4B8 JUMP JUMPDEST SWAP2 POP PUSH3 0x888 DUP4 PUSH3 0x863 JUMP JUMPDEST SWAP3 POP PUSH3 0x8B7 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP5 PUSH3 0x779 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x8CB DUP3 PUSH3 0x4B8 JUMP JUMPDEST SWAP2 POP PUSH3 0x8D8 DUP4 PUSH3 0x4B8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH3 0x8E8 DUP2 PUSH3 0x4B8 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH3 0x902 JUMPI PUSH3 0x901 PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x934 DUP3 PUSH3 0x909 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x946 DUP2 PUSH3 0x928 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x961 PUSH0 DUP4 ADD DUP5 PUSH3 0x93B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x973 DUP3 PUSH3 0x4B8 JUMP JUMPDEST SWAP2 POP PUSH3 0x980 DUP4 PUSH3 0x4B8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH3 0x99B JUMPI PUSH3 0x99A PUSH3 0x6E6 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x9AC DUP2 PUSH3 0x4B8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x9C7 PUSH0 DUP4 ADD DUP7 PUSH3 0x93B JUMP JUMPDEST PUSH3 0x9D6 PUSH1 0x20 DUP4 ADD DUP6 PUSH3 0x9A1 JUMP JUMPDEST PUSH3 0x9E5 PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0x9A1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0xA02 PUSH0 DUP4 ADD DUP5 PUSH3 0x9A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDFB DUP1 PUSH3 0xA16 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x91 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1CD JUMPI PUSH2 0x91 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x9D PUSH2 0x1FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0xB25 JUMP JUMPDEST PUSH2 0x28D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEB PUSH2 0x2AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x116 SWAP2 SWAP1 PUSH2 0xBBE JUMP JUMPDEST PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x128 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH2 0x2E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xC29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x164 SWAP2 SWAP1 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x2EE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x187 PUSH2 0x333 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0xB25 JUMP JUMPDEST PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0xC6D JUMP JUMPDEST PUSH2 0x3E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x20C SWAP1 PUSH2 0xCD8 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 0x238 SWAP1 PUSH2 0xCD8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x283 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x283 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x266 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x297 PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A4 DUP2 DUP6 DUP6 PUSH2 0x46E JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x2C2 PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x2CF DUP6 DUP3 DUP6 PUSH2 0x480 JUMP JUMPDEST PUSH2 0x2DA DUP6 DUP6 DUP6 PUSH2 0x512 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x342 SWAP1 PUSH2 0xCD8 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 0x36E SWAP1 PUSH2 0xCD8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x390 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x39C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x3CD PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DA DUP2 DUP6 DUP6 PUSH2 0x512 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x602 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48B DUP5 DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x50C JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4FD JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4F4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x50B DUP5 DUP5 DUP5 DUP5 SUB PUSH0 PUSH2 0x602 JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x582 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x579 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x5F2 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E9 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP4 DUP4 DUP4 PUSH2 0x7D1 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x672 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x669 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6E2 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6D9 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0x7CB JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7C2 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x821 JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x815 SWAP2 SWAP1 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8EF JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x8AA JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8A1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x936 JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x980 JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x9DD SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA21 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA06 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA46 DUP3 PUSH2 0x9EA JUMP JUMPDEST PUSH2 0xA50 DUP2 DUP6 PUSH2 0x9F4 JUMP JUMPDEST SWAP4 POP PUSH2 0xA60 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA04 JUMP JUMPDEST PUSH2 0xA69 DUP2 PUSH2 0xA2C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA8C DUP2 DUP5 PUSH2 0xA3C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xAC1 DUP3 PUSH2 0xA98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAD1 DUP2 PUSH2 0xAB7 JUMP JUMPDEST DUP2 EQ PUSH2 0xADB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAEC DUP2 PUSH2 0xAC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB04 DUP2 PUSH2 0xAF2 JUMP JUMPDEST DUP2 EQ PUSH2 0xB0E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1F DUP2 PUSH2 0xAFB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB3B JUMPI PUSH2 0xB3A PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB48 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB59 DUP6 DUP3 DUP7 ADD PUSH2 0xB11 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB77 DUP2 PUSH2 0xB63 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB90 PUSH0 DUP4 ADD DUP5 PUSH2 0xB6E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB9F DUP2 PUSH2 0xAF2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB8 PUSH0 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xBD5 JUMPI PUSH2 0xBD4 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBE2 DUP7 DUP3 DUP8 ADD PUSH2 0xADE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xBF3 DUP7 DUP3 DUP8 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC04 DUP7 DUP3 DUP8 ADD PUSH2 0xB11 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC23 DUP2 PUSH2 0xC0E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC3C PUSH0 DUP4 ADD DUP5 PUSH2 0xC1A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC57 JUMPI PUSH2 0xC56 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xC64 DUP5 DUP3 DUP6 ADD PUSH2 0xADE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC83 JUMPI PUSH2 0xC82 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xC90 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xCA1 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xCEF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xD02 JUMPI PUSH2 0xD01 PUSH2 0xCAB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD11 DUP2 PUSH2 0xAB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xD2A PUSH0 DUP4 ADD DUP7 PUSH2 0xD08 JUMP JUMPDEST PUSH2 0xD37 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xB96 JUMP JUMPDEST PUSH2 0xD44 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD5F PUSH0 DUP4 ADD DUP5 PUSH2 0xD08 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xD9C DUP3 PUSH2 0xAF2 JUMP JUMPDEST SWAP2 POP PUSH2 0xDA7 DUP4 PUSH2 0xAF2 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xDBF JUMPI PUSH2 0xDBE PUSH2 0xD65 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 0xD0 LOG4 CALL 0x28 SSTORE 0x4B 0x4B CREATE2 0xD8 0xC4 CALLCODE 0xBF 0xA8 0xE5 PUSH23 0x67FDC314F5875706B576B47D07E4889F64736F6C634300 ADDMOD XOR STOP CALLER ",
"sourceMap": "139:135:6:-:0;;;168:99;;;;;;;;;;1896:113:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1970:5;1962;:13;;;;;;:::i;:::-;;1995:7;1985;:17;;;;;;:::i;:::-;;1896:113;;216:45:6::1;222:10;250;:8;;;:10;;:::i;:::-;244:2;:16;;;;:::i;:::-;233:8;:27;;;;:::i;:::-;216:5;;;:45;;:::i;:::-;139:135:::0;;3002:82:1;3051:5;3075:2;3068:9;;3002:82;:::o;7721:208::-;7810:1;7791:21;;:7;:21;;;7787:91;;7864:1;7835:32;;;;;;;;;;;:::i;:::-;;;;;;;;7787:91;7887:35;7903:1;7907:7;7916:5;7887:7;;;:35;;:::i;:::-;7721:208;;:::o;6271:1107::-;6376:1;6360:18;;:4;:18;;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;;;;;6356:540;;;6548:19;6570:9;:15;6580:4;6570:15;;;;;;;;;;;;;;;;6548:37;;6617:5;6603:11;:19;6599:115;;;6674:4;6680:11;6693:5;6649:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6599:115;6866:5;6852:11;:19;6834:9;:15;6844:4;6834:15;;;;;;;;;;;;;;;:37;;;;6534:362;6356:540;6924:1;6910:16;;:2;:16;;;6906:425;;7089:5;7073:12;;:21;;;;;;;;;;;6906:425;;;7301:5;7284:9;:13;7294:2;7284:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6906:425;7361:2;7346:25;;7355:4;7346:25;;;7365:5;7346:25;;;;;;:::i;:::-;;;;;;;;6271:1107;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:180::-;5282:77;5279:1;5272:88;5379:4;5376:1;5369:15;5403:4;5400:1;5393:15;5420:102;5462:8;5509:5;5506:1;5502:13;5481:34;;5420:102;;;:::o;5528:848::-;5589:5;5596:4;5620:6;5611:15;;5644:5;5635:14;;5658:712;5679:1;5669:8;5666:15;5658:712;;;5774:4;5769:3;5765:14;5759:4;5756:24;5753:50;;;5783:18;;:::i;:::-;5753:50;5833:1;5823:8;5819:16;5816:451;;;6248:4;6241:5;6237:16;6228:25;;5816:451;6298:4;6292;6288:15;6280:23;;6328:32;6351:8;6328:32;:::i;:::-;6316:44;;5658:712;;;5528:848;;;;;;;:::o;6382:1073::-;6436:5;6627:8;6617:40;;6648:1;6639:10;;6650:5;;6617:40;6676:4;6666:36;;6693:1;6684:10;;6695:5;;6666:36;6762:4;6810:1;6805:27;;;;6846:1;6841:191;;;;6755:277;;6805:27;6823:1;6814:10;;6825:5;;;6841:191;6886:3;6876:8;6873:17;6870:43;;;6893:18;;:::i;:::-;6870:43;6942:8;6939:1;6935:16;6926:25;;6977:3;6970:5;6967:14;6964:40;;;6984:18;;:::i;:::-;6964:40;7017:5;;;6755:277;;7141:2;7131:8;7128:16;7122:3;7116:4;7113:13;7109:36;7091:2;7081:8;7078:16;7073:2;7067:4;7064:12;7060:35;7044:111;7041:246;;;7197:8;7191:4;7187:19;7178:28;;7232:3;7225:5;7222:14;7219:40;;;7239:18;;:::i;:::-;7219:40;7272:5;;7041:246;7312:42;7350:3;7340:8;7334:4;7331:1;7312:42;:::i;:::-;7297:57;;;;7386:4;7381:3;7377:14;7370:5;7367:25;7364:51;;;7395:18;;:::i;:::-;7364:51;7444:4;7437:5;7433:16;7424:25;;6382:1073;;;;;;:::o;7461:86::-;7496:7;7536:4;7529:5;7525:16;7514:27;;7461:86;;;:::o;7553:281::-;7611:5;7635:23;7653:4;7635:23;:::i;:::-;7627:31;;7679:25;7695:8;7679:25;:::i;:::-;7667:37;;7723:104;7760:66;7750:8;7744:4;7723:104;:::i;:::-;7714:113;;7553:281;;;;:::o;7840:410::-;7880:7;7903:20;7921:1;7903:20;:::i;:::-;7898:25;;7937:20;7955:1;7937:20;:::i;:::-;7932:25;;7992:1;7989;7985:9;8014:30;8032:11;8014:30;:::i;:::-;8003:41;;8193:1;8184:7;8180:15;8177:1;8174:22;8154:1;8147:9;8127:83;8104:139;;8223:18;;:::i;:::-;8104:139;7888:362;7840:410;;;;:::o;8256:126::-;8293:7;8333:42;8326:5;8322:54;8311:65;;8256:126;;;:::o;8388:96::-;8425:7;8454:24;8472:5;8454:24;:::i;:::-;8443:35;;8388:96;;;:::o;8490:118::-;8577:24;8595:5;8577:24;:::i;:::-;8572:3;8565:37;8490:118;;:::o;8614:222::-;8707:4;8745:2;8734:9;8730:18;8722:26;;8758:71;8826:1;8815:9;8811:17;8802:6;8758:71;:::i;:::-;8614:222;;;;:::o;8842:191::-;8882:3;8901:20;8919:1;8901:20;:::i;:::-;8896:25;;8935:20;8953:1;8935:20;:::i;:::-;8930:25;;8978:1;8975;8971:9;8964:16;;8999:3;8996:1;8993:10;8990:36;;;9006:18;;:::i;:::-;8990:36;8842:191;;;;:::o;9039:118::-;9126:24;9144:5;9126:24;:::i;:::-;9121:3;9114:37;9039:118;;:::o;9163:442::-;9312:4;9350:2;9339:9;9335:18;9327:26;;9363:71;9431:1;9420:9;9416:17;9407:6;9363:71;:::i;:::-;9444:72;9512:2;9501:9;9497:18;9488:6;9444:72;:::i;:::-;9526;9594:2;9583:9;9579:18;9570:6;9526:72;:::i;:::-;9163:442;;;;;;:::o;9611:222::-;9704:4;9742:2;9731:9;9727:18;9719:26;;9755:71;9823:1;9812:9;9808:17;9799:6;9755:71;:::i;:::-;9611:222;;;;:::o;139:135:6:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_approve_542": {
"entryPoint": 1134,
"id": 542,
"parameterSlots": 3,
"returnSlots": 0
},
"@_approve_602": {
"entryPoint": 1538,
"id": 602,
"parameterSlots": 4,
"returnSlots": 0
},
"@_msgSender_813": {
"entryPoint": 1127,
"id": 813,
"parameterSlots": 0,
"returnSlots": 1
},
"@_spendAllowance_650": {
"entryPoint": 1152,
"id": 650,
"parameterSlots": 3,
"returnSlots": 0
},
"@_transfer_381": {
"entryPoint": 1298,
"id": 381,
"parameterSlots": 3,
"returnSlots": 0
},
"@_update_458": {
"entryPoint": 2001,
"id": 458,
"parameterSlots": 3,
"returnSlots": 0
},
"@allowance_278": {
"entryPoint": 997,
"id": 278,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_302": {
"entryPoint": 653,
"id": 302,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_237": {
"entryPoint": 750,
"id": 237,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_215": {
"entryPoint": 742,
"id": 215,
"parameterSlots": 0,
"returnSlots": 1
},
"@name_197": {
"entryPoint": 509,
"id": 197,
"parameterSlots": 0,
"returnSlots": 1
},
"@symbol_206": {
"entryPoint": 819,
"id": 206,
"parameterSlots": 0,
"returnSlots": 1
},
"@totalSupply_224": {
"entryPoint": 687,
"id": 224,
"parameterSlots": 0,
"returnSlots": 1
},
"@transferFrom_334": {
"entryPoint": 696,
"id": 334,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_261": {
"entryPoint": 963,
"id": 261,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2782,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2833,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 3138,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 3181,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 3006,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2853,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 3336,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2926,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2620,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2966,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 3098,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 3404,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 3351,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2941,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2676,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2981,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 3113,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2538,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2548,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3474,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2743,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2915,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2712,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2802,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 3086,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2564,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 3288,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3429,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 3243,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2708,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2604,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 2760,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2811,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:7360:7",
"nodeType": "YulBlock",
"src": "0:7360:7",
"statements": [
{
"body": {
"nativeSrc": "66:40:7",
"nodeType": "YulBlock",
"src": "66:40:7",
"statements": [
{
"nativeSrc": "77:22:7",
"nodeType": "YulAssignment",
"src": "77:22:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:7",
"nodeType": "YulIdentifier",
"src": "93:5:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:7",
"nodeType": "YulIdentifier",
"src": "87:5:7"
},
"nativeSrc": "87:12:7",
"nodeType": "YulFunctionCall",
"src": "87:12:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:7",
"nodeType": "YulIdentifier",
"src": "77:6:7"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:7",
"nodeType": "YulTypedName",
"src": "49:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:7",
"nodeType": "YulTypedName",
"src": "59:6:7",
"type": ""
}
],
"src": "7:99:7"
},
{
"body": {
"nativeSrc": "208:73:7",
"nodeType": "YulBlock",
"src": "208:73:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:7",
"nodeType": "YulIdentifier",
"src": "225:3:7"
},
{
"name": "length",
"nativeSrc": "230:6:7",
"nodeType": "YulIdentifier",
"src": "230:6:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:7",
"nodeType": "YulIdentifier",
"src": "218:6:7"
},
"nativeSrc": "218:19:7",
"nodeType": "YulFunctionCall",
"src": "218:19:7"
},
"nativeSrc": "218:19:7",
"nodeType": "YulExpressionStatement",
"src": "218:19:7"
},
{
"nativeSrc": "246:29:7",
"nodeType": "YulAssignment",
"src": "246:29:7",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:7",
"nodeType": "YulIdentifier",
"src": "265:3:7"
},
{
"kind": "number",
"nativeSrc": "270:4:7",
"nodeType": "YulLiteral",
"src": "270:4:7",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:7",
"nodeType": "YulIdentifier",
"src": "261:3:7"
},
"nativeSrc": "261:14:7",
"nodeType": "YulFunctionCall",
"src": "261:14:7"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:7",
"nodeType": "YulIdentifier",
"src": "246:11:7"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:7",
"nodeType": "YulTypedName",
"src": "180:3:7",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:7",
"nodeType": "YulTypedName",
"src": "185:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:7",
"nodeType": "YulTypedName",
"src": "196:11:7",
"type": ""
}
],
"src": "112:169:7"
},
{
"body": {
"nativeSrc": "349:184:7",
"nodeType": "YulBlock",
"src": "349:184:7",
"statements": [
{
"nativeSrc": "359:10:7",
"nodeType": "YulVariableDeclaration",
"src": "359:10:7",
"value": {
"kind": "number",
"nativeSrc": "368:1:7",
"nodeType": "YulLiteral",
"src": "368:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "363:1:7",
"nodeType": "YulTypedName",
"src": "363:1:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "428:63:7",
"nodeType": "YulBlock",
"src": "428:63:7",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "453:3:7",
"nodeType": "YulIdentifier",
"src": "453:3:7"
},
{
"name": "i",
"nativeSrc": "458:1:7",
"nodeType": "YulIdentifier",
"src": "458:1:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "449:3:7",
"nodeType": "YulIdentifier",
"src": "449:3:7"
},
"nativeSrc": "449:11:7",
"nodeType": "YulFunctionCall",
"src": "449:11:7"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "472:3:7",
"nodeType": "YulIdentifier",
"src": "472:3:7"
},
{
"name": "i",
"nativeSrc": "477:1:7",
"nodeType": "YulIdentifier",
"src": "477:1:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "468:3:7",
"nodeType": "YulIdentifier",
"src": "468:3:7"
},
"nativeSrc": "468:11:7",
"nodeType": "YulFunctionCall",
"src": "468:11:7"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "462:5:7",
"nodeType": "YulIdentifier",
"src": "462:5:7"
},
"nativeSrc": "462:18:7",
"nodeType": "YulFunctionCall",
"src": "462:18:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "442:6:7",
"nodeType": "YulIdentifier",
"src": "442:6:7"
},
"nativeSrc": "442:39:7",
"nodeType": "YulFunctionCall",
"src": "442:39:7"
},
"nativeSrc": "442:39:7",
"nodeType": "YulExpressionStatement",
"src": "442:39:7"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "389:1:7",
"nodeType": "YulIdentifier",
"src": "389:1:7"
},
{
"name": "length",
"nativeSrc": "392:6:7",
"nodeType": "YulIdentifier",
"src": "392:6:7"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "386:2:7",
"nodeType": "YulIdentifier",
"src": "386:2:7"
},
"nativeSrc": "386:13:7",
"nodeType": "YulFunctionCall",
"src": "386:13:7"
},
"nativeSrc": "378:113:7",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "400:19:7",
"nodeType": "YulBlock",
"src": "400:19:7",
"statements": [
{
"nativeSrc": "402:15:7",
"nodeType": "YulAssignment",
"src": "402:15:7",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "411:1:7",
"nodeType": "YulIdentifier",
"src": "411:1:7"
},
{
"kind": "number",
"nativeSrc": "414:2:7",
"nodeType": "YulLiteral",
"src": "414:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "407:3:7",
"nodeType": "YulIdentifier",
"src": "407:3:7"
},
"nativeSrc": "407:10:7",
"nodeType": "YulFunctionCall",
"src": "407:10:7"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "402:1:7",
"nodeType": "YulIdentifier",
"src": "402:1:7"
}
]
}
]
},
"pre": {
"nativeSrc": "382:3:7",
"nodeType": "YulBlock",
"src": "382:3:7",
"statements": []
},
"src": "378:113:7"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "511:3:7",
"nodeType": "YulIdentifier",
"src": "511:3:7"
},
{
"name": "length",
"nativeSrc": "516:6:7",
"nodeType": "YulIdentifier",
"src": "516:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "507:3:7",
"nodeType": "YulIdentifier",
"src": "507:3:7"
},
"nativeSrc": "507:16:7",
"nodeType": "YulFunctionCall",
"src": "507:16:7"
},
{
"kind": "number",
"nativeSrc": "525:1:7",
"nodeType": "YulLiteral",
"src": "525:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "500:6:7",
"nodeType": "YulIdentifier",
"src": "500:6:7"
},
"nativeSrc": "500:27:7",
"nodeType": "YulFunctionCall",
"src": "500:27:7"
},
"nativeSrc": "500:27:7",
"nodeType": "YulExpressionStatement",
"src": "500:27:7"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:246:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:7",
"nodeType": "YulTypedName",
"src": "331:3:7",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:7",
"nodeType": "YulTypedName",
"src": "336:3:7",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:7",
"nodeType": "YulTypedName",
"src": "341:6:7",
"type": ""
}
],
"src": "287:246:7"
},
{
"body": {
"nativeSrc": "587:54:7",
"nodeType": "YulBlock",
"src": "587:54:7",
"statements": [
{
"nativeSrc": "597:38:7",
"nodeType": "YulAssignment",
"src": "597:38:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "615:5:7",
"nodeType": "YulIdentifier",
"src": "615:5:7"
},
{
"kind": "number",
"nativeSrc": "622:2:7",
"nodeType": "YulLiteral",
"src": "622:2:7",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "611:3:7",
"nodeType": "YulIdentifier",
"src": "611:3:7"
},
"nativeSrc": "611:14:7",
"nodeType": "YulFunctionCall",
"src": "611:14:7"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "631:2:7",
"nodeType": "YulLiteral",
"src": "631:2:7",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "627:3:7",
"nodeType": "YulIdentifier",
"src": "627:3:7"
},
"nativeSrc": "627:7:7",
"nodeType": "YulFunctionCall",
"src": "627:7:7"
}
],
"functionName": {
"name": "and",
"nativeSrc": "607:3:7",
"nodeType": "YulIdentifier",
"src": "607:3:7"
},
"nativeSrc": "607:28:7",
"nodeType": "YulFunctionCall",
"src": "607:28:7"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "597:6:7",
"nodeType": "YulIdentifier",
"src": "597:6:7"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "539:102:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "570:5:7",
"nodeType": "YulTypedName",
"src": "570:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "580:6:7",
"nodeType": "YulTypedName",
"src": "580:6:7",
"type": ""
}
],
"src": "539:102:7"
},
{
"body": {
"nativeSrc": "739:285:7",
"nodeType": "YulBlock",
"src": "739:285:7",
"statements": [
{
"nativeSrc": "749:53:7",
"nodeType": "YulVariableDeclaration",
"src": "749:53:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "796:5:7",
"nodeType": "YulIdentifier",
"src": "796:5:7"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "763:32:7",
"nodeType": "YulIdentifier",
"src": "763:32:7"
},
"nativeSrc": "763:39:7",
"nodeType": "YulFunctionCall",
"src": "763:39:7"
},
"variables": [
{
"name": "length",
"nativeSrc": "753:6:7",
"nodeType": "YulTypedName",
"src": "753:6:7",
"type": ""
}
]
},
{
"nativeSrc": "811:78:7",
"nodeType": "YulAssignment",
"src": "811:78:7",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "877:3:7",
"nodeType": "YulIdentifier",
"src": "877:3:7"
},
{
"name": "length",
"nativeSrc": "882:6:7",
"nodeType": "YulIdentifier",
"src": "882:6:7"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "818:58:7",
"nodeType": "YulIdentifier",
"src": "818:58:7"
},
"nativeSrc": "818:71:7",
"nodeType": "YulFunctionCall",
"src": "818:71:7"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "811:3:7",
"nodeType": "YulIdentifier",
"src": "811:3:7"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "937:5:7",
"nodeType": "YulIdentifier",
"src": "937:5:7"
},
{
"kind": "number",
"nativeSrc": "944:4:7",
"nodeType": "YulLiteral",
"src": "944:4:7",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "933:3:7",
"nodeType": "YulIdentifier",
"src": "933:3:7"
},
"nativeSrc": "933:16:7",
"nodeType": "YulFunctionCall",
"src": "933:16:7"
},
{
"name": "pos",
"nativeSrc": "951:3:7",
"nodeType": "YulIdentifier",
"src": "951:3:7"
},
{
"name": "length",
"nativeSrc": "956:6:7",
"nodeType": "YulIdentifier",
"src": "956:6:7"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "898:34:7",
"nodeType": "YulIdentifier",
"src": "898:34:7"
},
"nativeSrc": "898:65:7",
"nodeType": "YulFunctionCall",
"src": "898:65:7"
},
"nativeSrc": "898:65:7",
"nodeType": "YulExpressionStatement",
"src": "898:65:7"
},
{
"nativeSrc": "972:46:7",
"nodeType": "YulAssignment",
"src": "972:46:7",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "983:3:7",
"nodeType": "YulIdentifier",
"src": "983:3:7"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1010:6:7",
"nodeType": "YulIdentifier",
"src": "1010:6:7"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "988:21:7",
"nodeType": "YulIdentifier",
"src": "988:21:7"
},
"nativeSrc": "988:29:7",
"nodeType": "YulFunctionCall",
"src": "988:29:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "979:3:7",
"nodeType": "YulIdentifier",
"src": "979:3:7"
},
"nativeSrc": "979:39:7",
"nodeType": "YulFunctionCall",
"src": "979:39:7"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "972:3:7",
"nodeType": "YulIdentifier",
"src": "972:3:7"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "647:377:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "720:5:7",
"nodeType": "YulTypedName",
"src": "720:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "727:3:7",
"nodeType": "YulTypedName",
"src": "727:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "735:3:7",
"nodeType": "YulTypedName",
"src": "735:3:7",
"type": ""
}
],
"src": "647:377:7"
},
{
"body": {
"nativeSrc": "1148:195:7",
"nodeType": "YulBlock",
"src": "1148:195:7",
"statements": [
{
"nativeSrc": "1158:26:7",
"nodeType": "YulAssignment",
"src": "1158:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1170:9:7",
"nodeType": "YulIdentifier",
"src": "1170:9:7"
},
{
"kind": "number",
"nativeSrc": "1181:2:7",
"nodeType": "YulLiteral",
"src": "1181:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1166:3:7",
"nodeType": "YulIdentifier",
"src": "1166:3:7"
},
"nativeSrc": "1166:18:7",
"nodeType": "YulFunctionCall",
"src": "1166:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1158:4:7",
"nodeType": "YulIdentifier",
"src": "1158:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1205:9:7",
"nodeType": "YulIdentifier",
"src": "1205:9:7"
},
{
"kind": "number",
"nativeSrc": "1216:1:7",
"nodeType": "YulLiteral",
"src": "1216:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1201:3:7",
"nodeType": "YulIdentifier",
"src": "1201:3:7"
},
"nativeSrc": "1201:17:7",
"nodeType": "YulFunctionCall",
"src": "1201:17:7"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1224:4:7",
"nodeType": "YulIdentifier",
"src": "1224:4:7"
},
{
"name": "headStart",
"nativeSrc": "1230:9:7",
"nodeType": "YulIdentifier",
"src": "1230:9:7"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1220:3:7",
"nodeType": "YulIdentifier",
"src": "1220:3:7"
},
"nativeSrc": "1220:20:7",
"nodeType": "YulFunctionCall",
"src": "1220:20:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1194:6:7",
"nodeType": "YulIdentifier",
"src": "1194:6:7"
},
"nativeSrc": "1194:47:7",
"nodeType": "YulFunctionCall",
"src": "1194:47:7"
},
"nativeSrc": "1194:47:7",
"nodeType": "YulExpressionStatement",
"src": "1194:47:7"
},
{
"nativeSrc": "1250:86:7",
"nodeType": "YulAssignment",
"src": "1250:86:7",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1322:6:7",
"nodeType": "YulIdentifier",
"src": "1322:6:7"
},
{
"name": "tail",
"nativeSrc": "1331:4:7",
"nodeType": "YulIdentifier",
"src": "1331:4:7"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1258:63:7",
"nodeType": "YulIdentifier",
"src": "1258:63:7"
},
"nativeSrc": "1258:78:7",
"nodeType": "YulFunctionCall",
"src": "1258:78:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1250:4:7",
"nodeType": "YulIdentifier",
"src": "1250:4:7"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1030:313:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1120:9:7",
"nodeType": "YulTypedName",
"src": "1120:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1132:6:7",
"nodeType": "YulTypedName",
"src": "1132:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1143:4:7",
"nodeType": "YulTypedName",
"src": "1143:4:7",
"type": ""
}
],
"src": "1030:313:7"
},
{
"body": {
"nativeSrc": "1389:35:7",
"nodeType": "YulBlock",
"src": "1389:35:7",
"statements": [
{
"nativeSrc": "1399:19:7",
"nodeType": "YulAssignment",
"src": "1399:19:7",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1415:2:7",
"nodeType": "YulLiteral",
"src": "1415:2:7",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1409:5:7",
"nodeType": "YulIdentifier",
"src": "1409:5:7"
},
"nativeSrc": "1409:9:7",
"nodeType": "YulFunctionCall",
"src": "1409:9:7"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1399:6:7",
"nodeType": "YulIdentifier",
"src": "1399:6:7"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1349:75:7",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1382:6:7",
"nodeType": "YulTypedName",
"src": "1382:6:7",
"type": ""
}
],
"src": "1349:75:7"
},
{
"body": {
"nativeSrc": "1519:28:7",
"nodeType": "YulBlock",
"src": "1519:28:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1536:1:7",
"nodeType": "YulLiteral",
"src": "1536:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1539:1:7",
"nodeType": "YulLiteral",
"src": "1539:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1529:6:7",
"nodeType": "YulIdentifier",
"src": "1529:6:7"
},
"nativeSrc": "1529:12:7",
"nodeType": "YulFunctionCall",
"src": "1529:12:7"
},
"nativeSrc": "1529:12:7",
"nodeType": "YulExpressionStatement",
"src": "1529:12:7"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1430:117:7",
"nodeType": "YulFunctionDefinition",
"src": "1430:117:7"
},
{
"body": {
"nativeSrc": "1642:28:7",
"nodeType": "YulBlock",
"src": "1642:28:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1659:1:7",
"nodeType": "YulLiteral",
"src": "1659:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1662:1:7",
"nodeType": "YulLiteral",
"src": "1662:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1652:6:7",
"nodeType": "YulIdentifier",
"src": "1652:6:7"
},
"nativeSrc": "1652:12:7",
"nodeType": "YulFunctionCall",
"src": "1652:12:7"
},
"nativeSrc": "1652:12:7",
"nodeType": "YulExpressionStatement",
"src": "1652:12:7"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1553:117:7",
"nodeType": "YulFunctionDefinition",
"src": "1553:117:7"
},
{
"body": {
"nativeSrc": "1721:81:7",
"nodeType": "YulBlock",
"src": "1721:81:7",
"statements": [
{
"nativeSrc": "1731:65:7",
"nodeType": "YulAssignment",
"src": "1731:65:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1746:5:7",
"nodeType": "YulIdentifier",
"src": "1746:5:7"
},
{
"kind": "number",
"nativeSrc": "1753:42:7",
"nodeType": "YulLiteral",
"src": "1753:42:7",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1742:3:7",
"nodeType": "YulIdentifier",
"src": "1742:3:7"
},
"nativeSrc": "1742:54:7",
"nodeType": "YulFunctionCall",
"src": "1742:54:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1731:7:7",
"nodeType": "YulIdentifier",
"src": "1731:7:7"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1676:126:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1703:5:7",
"nodeType": "YulTypedName",
"src": "1703:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1713:7:7",
"nodeType": "YulTypedName",
"src": "1713:7:7",
"type": ""
}
],
"src": "1676:126:7"
},
{
"body": {
"nativeSrc": "1853:51:7",
"nodeType": "YulBlock",
"src": "1853:51:7",
"statements": [
{
"nativeSrc": "1863:35:7",
"nodeType": "YulAssignment",
"src": "1863:35:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1892:5:7",
"nodeType": "YulIdentifier",
"src": "1892:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1874:17:7",
"nodeType": "YulIdentifier",
"src": "1874:17:7"
},
"nativeSrc": "1874:24:7",
"nodeType": "YulFunctionCall",
"src": "1874:24:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1863:7:7",
"nodeType": "YulIdentifier",
"src": "1863:7:7"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "1808:96:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1835:5:7",
"nodeType": "YulTypedName",
"src": "1835:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1845:7:7",
"nodeType": "YulTypedName",
"src": "1845:7:7",
"type": ""
}
],
"src": "1808:96:7"
},
{
"body": {
"nativeSrc": "1953:79:7",
"nodeType": "YulBlock",
"src": "1953:79:7",
"statements": [
{
"body": {
"nativeSrc": "2010:16:7",
"nodeType": "YulBlock",
"src": "2010:16:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2019:1:7",
"nodeType": "YulLiteral",
"src": "2019:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2022:1:7",
"nodeType": "YulLiteral",
"src": "2022:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2012:6:7",
"nodeType": "YulIdentifier",
"src": "2012:6:7"
},
"nativeSrc": "2012:12:7",
"nodeType": "YulFunctionCall",
"src": "2012:12:7"
},
"nativeSrc": "2012:12:7",
"nodeType": "YulExpressionStatement",
"src": "2012:12:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1976:5:7",
"nodeType": "YulIdentifier",
"src": "1976:5:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2001:5:7",
"nodeType": "YulIdentifier",
"src": "2001:5:7"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1983:17:7",
"nodeType": "YulIdentifier",
"src": "1983:17:7"
},
"nativeSrc": "1983:24:7",
"nodeType": "YulFunctionCall",
"src": "1983:24:7"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1973:2:7",
"nodeType": "YulIdentifier",
"src": "1973:2:7"
},
"nativeSrc": "1973:35:7",
"nodeType": "YulFunctionCall",
"src": "1973:35:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1966:6:7",
"nodeType": "YulIdentifier",
"src": "1966:6:7"
},
"nativeSrc": "1966:43:7",
"nodeType": "YulFunctionCall",
"src": "1966:43:7"
},
"nativeSrc": "1963:63:7",
"nodeType": "YulIf",
"src": "1963:63:7"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "1910:122:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1946:5:7",
"nodeType": "YulTypedName",
"src": "1946:5:7",
"type": ""
}
],
"src": "1910:122:7"
},
{
"body": {
"nativeSrc": "2090:87:7",
"nodeType": "YulBlock",
"src": "2090:87:7",
"statements": [
{
"nativeSrc": "2100:29:7",
"nodeType": "YulAssignment",
"src": "2100:29:7",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2122:6:7",
"nodeType": "YulIdentifier",
"src": "2122:6:7"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2109:12:7",
"nodeType": "YulIdentifier",
"src": "2109:12:7"
},
"nativeSrc": "2109:20:7",
"nodeType": "YulFunctionCall",
"src": "2109:20:7"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2100:5:7",
"nodeType": "YulIdentifier",
"src": "2100:5:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2165:5:7",
"nodeType": "YulIdentifier",
"src": "2165:5:7"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "2138:26:7",
"nodeType": "YulIdentifier",
"src": "2138:26:7"
},
"nativeSrc": "2138:33:7",
"nodeType": "YulFunctionCall",
"src": "2138:33:7"
},
"nativeSrc": "2138:33:7",
"nodeType": "YulExpressionStatement",
"src": "2138:33:7"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "2038:139:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2068:6:7",
"nodeType": "YulTypedName",
"src": "2068:6:7",
"type": ""
},
{
"name": "end",
"nativeSrc": "2076:3:7",
"nodeType": "YulTypedName",
"src": "2076:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2084:5:7",
"nodeType": "YulTypedName",
"src": "2084:5:7",
"type": ""
}
],
"src": "2038:139:7"
},
{
"body": {
"nativeSrc": "2228:32:7",
"nodeType": "YulBlock",
"src": "2228:32:7",
"statements": [
{
"nativeSrc": "2238:16:7",
"nodeType": "YulAssignment",
"src": "2238:16:7",
"value": {
"name": "value",
"nativeSrc": "2249:5:7",
"nodeType": "YulIdentifier",
"src": "2249:5:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2238:7:7",
"nodeType": "YulIdentifier",
"src": "2238:7:7"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "2183:77:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2210:5:7",
"nodeType": "YulTypedName",
"src": "2210:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2220:7:7",
"nodeType": "YulTypedName",
"src": "2220:7:7",
"type": ""
}
],
"src": "2183:77:7"
},
{
"body": {
"nativeSrc": "2309:79:7",
"nodeType": "YulBlock",
"src": "2309:79:7",
"statements": [
{
"body": {
"nativeSrc": "2366:16:7",
"nodeType": "YulBlock",
"src": "2366:16:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2375:1:7",
"nodeType": "YulLiteral",
"src": "2375:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2378:1:7",
"nodeType": "YulLiteral",
"src": "2378:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2368:6:7",
"nodeType": "YulIdentifier",
"src": "2368:6:7"
},
"nativeSrc": "2368:12:7",
"nodeType": "YulFunctionCall",
"src": "2368:12:7"
},
"nativeSrc": "2368:12:7",
"nodeType": "YulExpressionStatement",
"src": "2368:12:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2332:5:7",
"nodeType": "YulIdentifier",
"src": "2332:5:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2357:5:7",
"nodeType": "YulIdentifier",
"src": "2357:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2339:17:7",
"nodeType": "YulIdentifier",
"src": "2339:17:7"
},
"nativeSrc": "2339:24:7",
"nodeType": "YulFunctionCall",
"src": "2339:24:7"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2329:2:7",
"nodeType": "YulIdentifier",
"src": "2329:2:7"
},
"nativeSrc": "2329:35:7",
"nodeType": "YulFunctionCall",
"src": "2329:35:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2322:6:7",
"nodeType": "YulIdentifier",
"src": "2322:6:7"
},
"nativeSrc": "2322:43:7",
"nodeType": "YulFunctionCall",
"src": "2322:43:7"
},
"nativeSrc": "2319:63:7",
"nodeType": "YulIf",
"src": "2319:63:7"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "2266:122:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2302:5:7",
"nodeType": "YulTypedName",
"src": "2302:5:7",
"type": ""
}
],
"src": "2266:122:7"
},
{
"body": {
"nativeSrc": "2446:87:7",
"nodeType": "YulBlock",
"src": "2446:87:7",
"statements": [
{
"nativeSrc": "2456:29:7",
"nodeType": "YulAssignment",
"src": "2456:29:7",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2478:6:7",
"nodeType": "YulIdentifier",
"src": "2478:6:7"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2465:12:7",
"nodeType": "YulIdentifier",
"src": "2465:12:7"
},
"nativeSrc": "2465:20:7",
"nodeType": "YulFunctionCall",
"src": "2465:20:7"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2456:5:7",
"nodeType": "YulIdentifier",
"src": "2456:5:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2521:5:7",
"nodeType": "YulIdentifier",
"src": "2521:5:7"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "2494:26:7",
"nodeType": "YulIdentifier",
"src": "2494:26:7"
},
"nativeSrc": "2494:33:7",
"nodeType": "YulFunctionCall",
"src": "2494:33:7"
},
"nativeSrc": "2494:33:7",
"nodeType": "YulExpressionStatement",
"src": "2494:33:7"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "2394:139:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2424:6:7",
"nodeType": "YulTypedName",
"src": "2424:6:7",
"type": ""
},
{
"name": "end",
"nativeSrc": "2432:3:7",
"nodeType": "YulTypedName",
"src": "2432:3:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2440:5:7",
"nodeType": "YulTypedName",
"src": "2440:5:7",
"type": ""
}
],
"src": "2394:139:7"
},
{
"body": {
"nativeSrc": "2622:391:7",
"nodeType": "YulBlock",
"src": "2622:391:7",
"statements": [
{
"body": {
"nativeSrc": "2668:83:7",
"nodeType": "YulBlock",
"src": "2668:83:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "2670:77:7",
"nodeType": "YulIdentifier",
"src": "2670:77:7"
},
"nativeSrc": "2670:79:7",
"nodeType": "YulFunctionCall",
"src": "2670:79:7"
},
"nativeSrc": "2670:79:7",
"nodeType": "YulExpressionStatement",
"src": "2670:79:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "2643:7:7",
"nodeType": "YulIdentifier",
"src": "2643:7:7"
},
{
"name": "headStart",
"nativeSrc": "2652:9:7",
"nodeType": "YulIdentifier",
"src": "2652:9:7"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2639:3:7",
"nodeType": "YulIdentifier",
"src": "2639:3:7"
},
"nativeSrc": "2639:23:7",
"nodeType": "YulFunctionCall",
"src": "2639:23:7"
},
{
"kind": "number",
"nativeSrc": "2664:2:7",
"nodeType": "YulLiteral",
"src": "2664:2:7",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2635:3:7",
"nodeType": "YulIdentifier",
"src": "2635:3:7"
},
"nativeSrc": "2635:32:7",
"nodeType": "YulFunctionCall",
"src": "2635:32:7"
},
"nativeSrc": "2632:119:7",
"nodeType": "YulIf",
"src": "2632:119:7"
},
{
"nativeSrc": "2761:117:7",
"nodeType": "YulBlock",
"src": "2761:117:7",
"statements": [
{
"nativeSrc": "2776:15:7",
"nodeType": "YulVariableDeclaration",
"src": "2776:15:7",
"value": {
"kind": "number",
"nativeSrc": "2790:1:7",
"nodeType": "YulLiteral",
"src": "2790:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2780:6:7",
"nodeType": "YulTypedName",
"src": "2780:6:7",
"type": ""
}
]
},
{
"nativeSrc": "2805:63:7",
"nodeType": "YulAssignment",
"src": "2805:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2840:9:7",
"nodeType": "YulIdentifier",
"src": "2840:9:7"
},
{
"name": "offset",
"nativeSrc": "2851:6:7",
"nodeType": "YulIdentifier",
"src": "2851:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2836:3:7",
"nodeType": "YulIdentifier",
"src": "2836:3:7"
},
"nativeSrc": "2836:22:7",
"nodeType": "YulFunctionCall",
"src": "2836:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "2860:7:7",
"nodeType": "YulIdentifier",
"src": "2860:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "2815:20:7",
"nodeType": "YulIdentifier",
"src": "2815:20:7"
},
"nativeSrc": "2815:53:7",
"nodeType": "YulFunctionCall",
"src": "2815:53:7"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "2805:6:7",
"nodeType": "YulIdentifier",
"src": "2805:6:7"
}
]
}
]
},
{
"nativeSrc": "2888:118:7",
"nodeType": "YulBlock",
"src": "2888:118:7",
"statements": [
{
"nativeSrc": "2903:16:7",
"nodeType": "YulVariableDeclaration",
"src": "2903:16:7",
"value": {
"kind": "number",
"nativeSrc": "2917:2:7",
"nodeType": "YulLiteral",
"src": "2917:2:7",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2907:6:7",
"nodeType": "YulTypedName",
"src": "2907:6:7",
"type": ""
}
]
},
{
"nativeSrc": "2933:63:7",
"nodeType": "YulAssignment",
"src": "2933:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2968:9:7",
"nodeType": "YulIdentifier",
"src": "2968:9:7"
},
{
"name": "offset",
"nativeSrc": "2979:6:7",
"nodeType": "YulIdentifier",
"src": "2979:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2964:3:7",
"nodeType": "YulIdentifier",
"src": "2964:3:7"
},
"nativeSrc": "2964:22:7",
"nodeType": "YulFunctionCall",
"src": "2964:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "2988:7:7",
"nodeType": "YulIdentifier",
"src": "2988:7:7"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "2943:20:7",
"nodeType": "YulIdentifier",
"src": "2943:20:7"
},
"nativeSrc": "2943:53:7",
"nodeType": "YulFunctionCall",
"src": "2943:53:7"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "2933:6:7",
"nodeType": "YulIdentifier",
"src": "2933:6:7"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nativeSrc": "2539:474:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2584:9:7",
"nodeType": "YulTypedName",
"src": "2584:9:7",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "2595:7:7",
"nodeType": "YulTypedName",
"src": "2595:7:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "2607:6:7",
"nodeType": "YulTypedName",
"src": "2607:6:7",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2615:6:7",
"nodeType": "YulTypedName",
"src": "2615:6:7",
"type": ""
}
],
"src": "2539:474:7"
},
{
"body": {
"nativeSrc": "3061:48:7",
"nodeType": "YulBlock",
"src": "3061:48:7",
"statements": [
{
"nativeSrc": "3071:32:7",
"nodeType": "YulAssignment",
"src": "3071:32:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3096:5:7",
"nodeType": "YulIdentifier",
"src": "3096:5:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3089:6:7",
"nodeType": "YulIdentifier",
"src": "3089:6:7"
},
"nativeSrc": "3089:13:7",
"nodeType": "YulFunctionCall",
"src": "3089:13:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3082:6:7",
"nodeType": "YulIdentifier",
"src": "3082:6:7"
},
"nativeSrc": "3082:21:7",
"nodeType": "YulFunctionCall",
"src": "3082:21:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3071:7:7",
"nodeType": "YulIdentifier",
"src": "3071:7:7"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "3019:90:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3043:5:7",
"nodeType": "YulTypedName",
"src": "3043:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3053:7:7",
"nodeType": "YulTypedName",
"src": "3053:7:7",
"type": ""
}
],
"src": "3019:90:7"
},
{
"body": {
"nativeSrc": "3174:50:7",
"nodeType": "YulBlock",
"src": "3174:50:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3191:3:7",
"nodeType": "YulIdentifier",
"src": "3191:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3211:5:7",
"nodeType": "YulIdentifier",
"src": "3211:5:7"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "3196:14:7",
"nodeType": "YulIdentifier",
"src": "3196:14:7"
},
"nativeSrc": "3196:21:7",
"nodeType": "YulFunctionCall",
"src": "3196:21:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3184:6:7",
"nodeType": "YulIdentifier",
"src": "3184:6:7"
},
"nativeSrc": "3184:34:7",
"nodeType": "YulFunctionCall",
"src": "3184:34:7"
},
"nativeSrc": "3184:34:7",
"nodeType": "YulExpressionStatement",
"src": "3184:34:7"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3115:109:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3162:5:7",
"nodeType": "YulTypedName",
"src": "3162:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3169:3:7",
"nodeType": "YulTypedName",
"src": "3169:3:7",
"type": ""
}
],
"src": "3115:109:7"
},
{
"body": {
"nativeSrc": "3322:118:7",
"nodeType": "YulBlock",
"src": "3322:118:7",
"statements": [
{
"nativeSrc": "3332:26:7",
"nodeType": "YulAssignment",
"src": "3332:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3344:9:7",
"nodeType": "YulIdentifier",
"src": "3344:9:7"
},
{
"kind": "number",
"nativeSrc": "3355:2:7",
"nodeType": "YulLiteral",
"src": "3355:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3340:3:7",
"nodeType": "YulIdentifier",
"src": "3340:3:7"
},
"nativeSrc": "3340:18:7",
"nodeType": "YulFunctionCall",
"src": "3340:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3332:4:7",
"nodeType": "YulIdentifier",
"src": "3332:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3406:6:7",
"nodeType": "YulIdentifier",
"src": "3406:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3419:9:7",
"nodeType": "YulIdentifier",
"src": "3419:9:7"
},
{
"kind": "number",
"nativeSrc": "3430:1:7",
"nodeType": "YulLiteral",
"src": "3430:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3415:3:7",
"nodeType": "YulIdentifier",
"src": "3415:3:7"
},
"nativeSrc": "3415:17:7",
"nodeType": "YulFunctionCall",
"src": "3415:17:7"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3368:37:7",
"nodeType": "YulIdentifier",
"src": "3368:37:7"
},
"nativeSrc": "3368:65:7",
"nodeType": "YulFunctionCall",
"src": "3368:65:7"
},
"nativeSrc": "3368:65:7",
"nodeType": "YulExpressionStatement",
"src": "3368:65:7"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "3230:210:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3294:9:7",
"nodeType": "YulTypedName",
"src": "3294:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3306:6:7",
"nodeType": "YulTypedName",
"src": "3306:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3317:4:7",
"nodeType": "YulTypedName",
"src": "3317:4:7",
"type": ""
}
],
"src": "3230:210:7"
},
{
"body": {
"nativeSrc": "3511:53:7",
"nodeType": "YulBlock",
"src": "3511:53:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3528:3:7",
"nodeType": "YulIdentifier",
"src": "3528:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3551:5:7",
"nodeType": "YulIdentifier",
"src": "3551:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "3533:17:7",
"nodeType": "YulIdentifier",
"src": "3533:17:7"
},
"nativeSrc": "3533:24:7",
"nodeType": "YulFunctionCall",
"src": "3533:24:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3521:6:7",
"nodeType": "YulIdentifier",
"src": "3521:6:7"
},
"nativeSrc": "3521:37:7",
"nodeType": "YulFunctionCall",
"src": "3521:37:7"
},
"nativeSrc": "3521:37:7",
"nodeType": "YulExpressionStatement",
"src": "3521:37:7"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3446:118:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3499:5:7",
"nodeType": "YulTypedName",
"src": "3499:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3506:3:7",
"nodeType": "YulTypedName",
"src": "3506:3:7",
"type": ""
}
],
"src": "3446:118:7"
},
{
"body": {
"nativeSrc": "3668:124:7",
"nodeType": "YulBlock",
"src": "3668:124:7",
"statements": [
{
"nativeSrc": "3678:26:7",
"nodeType": "YulAssignment",
"src": "3678:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3690:9:7",
"nodeType": "YulIdentifier",
"src": "3690:9:7"
},
{
"kind": "number",
"nativeSrc": "3701:2:7",
"nodeType": "YulLiteral",
"src": "3701:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3686:3:7",
"nodeType": "YulIdentifier",
"src": "3686:3:7"
},
"nativeSrc": "3686:18:7",
"nodeType": "YulFunctionCall",
"src": "3686:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3678:4:7",
"nodeType": "YulIdentifier",
"src": "3678:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3758:6:7",
"nodeType": "YulIdentifier",
"src": "3758:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3771:9:7",
"nodeType": "YulIdentifier",
"src": "3771:9:7"
},
{
"kind": "number",
"nativeSrc": "3782:1:7",
"nodeType": "YulLiteral",
"src": "3782:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3767:3:7",
"nodeType": "YulIdentifier",
"src": "3767:3:7"
},
"nativeSrc": "3767:17:7",
"nodeType": "YulFunctionCall",
"src": "3767:17:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3714:43:7",
"nodeType": "YulIdentifier",
"src": "3714:43:7"
},
"nativeSrc": "3714:71:7",
"nodeType": "YulFunctionCall",
"src": "3714:71:7"
},
"nativeSrc": "3714:71:7",
"nodeType": "YulExpressionStatement",
"src": "3714:71:7"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "3570:222:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3640:9:7",
"nodeType": "YulTypedName",
"src": "3640:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3652:6:7",
"nodeType": "YulTypedName",
"src": "3652:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3663:4:7",
"nodeType": "YulTypedName",
"src": "3663:4:7",
"type": ""
}
],
"src": "3570:222:7"
},
{
"body": {
"nativeSrc": "3898:519:7",
"nodeType": "YulBlock",
"src": "3898:519:7",
"statements": [
{
"body": {
"nativeSrc": "3944:83:7",
"nodeType": "YulBlock",
"src": "3944:83:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3946:77:7",
"nodeType": "YulIdentifier",
"src": "3946:77:7"
},
"nativeSrc": "3946:79:7",
"nodeType": "YulFunctionCall",
"src": "3946:79:7"
},
"nativeSrc": "3946:79:7",
"nodeType": "YulExpressionStatement",
"src": "3946:79:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3919:7:7",
"nodeType": "YulIdentifier",
"src": "3919:7:7"
},
{
"name": "headStart",
"nativeSrc": "3928:9:7",
"nodeType": "YulIdentifier",
"src": "3928:9:7"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3915:3:7",
"nodeType": "YulIdentifier",
"src": "3915:3:7"
},
"nativeSrc": "3915:23:7",
"nodeType": "YulFunctionCall",
"src": "3915:23:7"
},
{
"kind": "number",
"nativeSrc": "3940:2:7",
"nodeType": "YulLiteral",
"src": "3940:2:7",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3911:3:7",
"nodeType": "YulIdentifier",
"src": "3911:3:7"
},
"nativeSrc": "3911:32:7",
"nodeType": "YulFunctionCall",
"src": "3911:32:7"
},
"nativeSrc": "3908:119:7",
"nodeType": "YulIf",
"src": "3908:119:7"
},
{
"nativeSrc": "4037:117:7",
"nodeType": "YulBlock",
"src": "4037:117:7",
"statements": [
{
"nativeSrc": "4052:15:7",
"nodeType": "YulVariableDeclaration",
"src": "4052:15:7",
"value": {
"kind": "number",
"nativeSrc": "4066:1:7",
"nodeType": "YulLiteral",
"src": "4066:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4056:6:7",
"nodeType": "YulTypedName",
"src": "4056:6:7",
"type": ""
}
]
},
{
"nativeSrc": "4081:63:7",
"nodeType": "YulAssignment",
"src": "4081:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4116:9:7",
"nodeType": "YulIdentifier",
"src": "4116:9:7"
},
{
"name": "offset",
"nativeSrc": "4127:6:7",
"nodeType": "YulIdentifier",
"src": "4127:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4112:3:7",
"nodeType": "YulIdentifier",
"src": "4112:3:7"
},
"nativeSrc": "4112:22:7",
"nodeType": "YulFunctionCall",
"src": "4112:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "4136:7:7",
"nodeType": "YulIdentifier",
"src": "4136:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "4091:20:7",
"nodeType": "YulIdentifier",
"src": "4091:20:7"
},
"nativeSrc": "4091:53:7",
"nodeType": "YulFunctionCall",
"src": "4091:53:7"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4081:6:7",
"nodeType": "YulIdentifier",
"src": "4081:6:7"
}
]
}
]
},
{
"nativeSrc": "4164:118:7",
"nodeType": "YulBlock",
"src": "4164:118:7",
"statements": [
{
"nativeSrc": "4179:16:7",
"nodeType": "YulVariableDeclaration",
"src": "4179:16:7",
"value": {
"kind": "number",
"nativeSrc": "4193:2:7",
"nodeType": "YulLiteral",
"src": "4193:2:7",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4183:6:7",
"nodeType": "YulTypedName",
"src": "4183:6:7",
"type": ""
}
]
},
{
"nativeSrc": "4209:63:7",
"nodeType": "YulAssignment",
"src": "4209:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4244:9:7",
"nodeType": "YulIdentifier",
"src": "4244:9:7"
},
{
"name": "offset",
"nativeSrc": "4255:6:7",
"nodeType": "YulIdentifier",
"src": "4255:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4240:3:7",
"nodeType": "YulIdentifier",
"src": "4240:3:7"
},
"nativeSrc": "4240:22:7",
"nodeType": "YulFunctionCall",
"src": "4240:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "4264:7:7",
"nodeType": "YulIdentifier",
"src": "4264:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "4219:20:7",
"nodeType": "YulIdentifier",
"src": "4219:20:7"
},
"nativeSrc": "4219:53:7",
"nodeType": "YulFunctionCall",
"src": "4219:53:7"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "4209:6:7",
"nodeType": "YulIdentifier",
"src": "4209:6:7"
}
]
}
]
},
{
"nativeSrc": "4292:118:7",
"nodeType": "YulBlock",
"src": "4292:118:7",
"statements": [
{
"nativeSrc": "4307:16:7",
"nodeType": "YulVariableDeclaration",
"src": "4307:16:7",
"value": {
"kind": "number",
"nativeSrc": "4321:2:7",
"nodeType": "YulLiteral",
"src": "4321:2:7",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4311:6:7",
"nodeType": "YulTypedName",
"src": "4311:6:7",
"type": ""
}
]
},
{
"nativeSrc": "4337:63:7",
"nodeType": "YulAssignment",
"src": "4337:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4372:9:7",
"nodeType": "YulIdentifier",
"src": "4372:9:7"
},
{
"name": "offset",
"nativeSrc": "4383:6:7",
"nodeType": "YulIdentifier",
"src": "4383:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4368:3:7",
"nodeType": "YulIdentifier",
"src": "4368:3:7"
},
"nativeSrc": "4368:22:7",
"nodeType": "YulFunctionCall",
"src": "4368:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "4392:7:7",
"nodeType": "YulIdentifier",
"src": "4392:7:7"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "4347:20:7",
"nodeType": "YulIdentifier",
"src": "4347:20:7"
},
"nativeSrc": "4347:53:7",
"nodeType": "YulFunctionCall",
"src": "4347:53:7"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "4337:6:7",
"nodeType": "YulIdentifier",
"src": "4337:6:7"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nativeSrc": "3798:619:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3852:9:7",
"nodeType": "YulTypedName",
"src": "3852:9:7",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3863:7:7",
"nodeType": "YulTypedName",
"src": "3863:7:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3875:6:7",
"nodeType": "YulTypedName",
"src": "3875:6:7",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3883:6:7",
"nodeType": "YulTypedName",
"src": "3883:6:7",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3891:6:7",
"nodeType": "YulTypedName",
"src": "3891:6:7",
"type": ""
}
],
"src": "3798:619:7"
},
{
"body": {
"nativeSrc": "4466:43:7",
"nodeType": "YulBlock",
"src": "4466:43:7",
"statements": [
{
"nativeSrc": "4476:27:7",
"nodeType": "YulAssignment",
"src": "4476:27:7",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4491:5:7",
"nodeType": "YulIdentifier",
"src": "4491:5:7"
},
{
"kind": "number",
"nativeSrc": "4498:4:7",
"nodeType": "YulLiteral",
"src": "4498:4:7",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4487:3:7",
"nodeType": "YulIdentifier",
"src": "4487:3:7"
},
"nativeSrc": "4487:16:7",
"nodeType": "YulFunctionCall",
"src": "4487:16:7"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "4476:7:7",
"nodeType": "YulIdentifier",
"src": "4476:7:7"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "4423:86:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4448:5:7",
"nodeType": "YulTypedName",
"src": "4448:5:7",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "4458:7:7",
"nodeType": "YulTypedName",
"src": "4458:7:7",
"type": ""
}
],
"src": "4423:86:7"
},
{
"body": {
"nativeSrc": "4576:51:7",
"nodeType": "YulBlock",
"src": "4576:51:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4593:3:7",
"nodeType": "YulIdentifier",
"src": "4593:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4614:5:7",
"nodeType": "YulIdentifier",
"src": "4614:5:7"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "4598:15:7",
"nodeType": "YulIdentifier",
"src": "4598:15:7"
},
"nativeSrc": "4598:22:7",
"nodeType": "YulFunctionCall",
"src": "4598:22:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4586:6:7",
"nodeType": "YulIdentifier",
"src": "4586:6:7"
},
"nativeSrc": "4586:35:7",
"nodeType": "YulFunctionCall",
"src": "4586:35:7"
},
"nativeSrc": "4586:35:7",
"nodeType": "YulExpressionStatement",
"src": "4586:35:7"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4515:112:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4564:5:7",
"nodeType": "YulTypedName",
"src": "4564:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4571:3:7",
"nodeType": "YulTypedName",
"src": "4571:3:7",
"type": ""
}
],
"src": "4515:112:7"
},
{
"body": {
"nativeSrc": "4727:120:7",
"nodeType": "YulBlock",
"src": "4727:120:7",
"statements": [
{
"nativeSrc": "4737:26:7",
"nodeType": "YulAssignment",
"src": "4737:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4749:9:7",
"nodeType": "YulIdentifier",
"src": "4749:9:7"
},
{
"kind": "number",
"nativeSrc": "4760:2:7",
"nodeType": "YulLiteral",
"src": "4760:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4745:3:7",
"nodeType": "YulIdentifier",
"src": "4745:3:7"
},
"nativeSrc": "4745:18:7",
"nodeType": "YulFunctionCall",
"src": "4745:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4737:4:7",
"nodeType": "YulIdentifier",
"src": "4737:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4813:6:7",
"nodeType": "YulIdentifier",
"src": "4813:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4826:9:7",
"nodeType": "YulIdentifier",
"src": "4826:9:7"
},
{
"kind": "number",
"nativeSrc": "4837:1:7",
"nodeType": "YulLiteral",
"src": "4837:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4822:3:7",
"nodeType": "YulIdentifier",
"src": "4822:3:7"
},
"nativeSrc": "4822:17:7",
"nodeType": "YulFunctionCall",
"src": "4822:17:7"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4773:39:7",
"nodeType": "YulIdentifier",
"src": "4773:39:7"
},
"nativeSrc": "4773:67:7",
"nodeType": "YulFunctionCall",
"src": "4773:67:7"
},
"nativeSrc": "4773:67:7",
"nodeType": "YulExpressionStatement",
"src": "4773:67:7"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nativeSrc": "4633:214:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4699:9:7",
"nodeType": "YulTypedName",
"src": "4699:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4711:6:7",
"nodeType": "YulTypedName",
"src": "4711:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4722:4:7",
"nodeType": "YulTypedName",
"src": "4722:4:7",
"type": ""
}
],
"src": "4633:214:7"
},
{
"body": {
"nativeSrc": "4919:263:7",
"nodeType": "YulBlock",
"src": "4919:263:7",
"statements": [
{
"body": {
"nativeSrc": "4965:83:7",
"nodeType": "YulBlock",
"src": "4965:83:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4967:77:7",
"nodeType": "YulIdentifier",
"src": "4967:77:7"
},
"nativeSrc": "4967:79:7",
"nodeType": "YulFunctionCall",
"src": "4967:79:7"
},
"nativeSrc": "4967:79:7",
"nodeType": "YulExpressionStatement",
"src": "4967:79:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4940:7:7",
"nodeType": "YulIdentifier",
"src": "4940:7:7"
},
{
"name": "headStart",
"nativeSrc": "4949:9:7",
"nodeType": "YulIdentifier",
"src": "4949:9:7"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4936:3:7",
"nodeType": "YulIdentifier",
"src": "4936:3:7"
},
"nativeSrc": "4936:23:7",
"nodeType": "YulFunctionCall",
"src": "4936:23:7"
},
{
"kind": "number",
"nativeSrc": "4961:2:7",
"nodeType": "YulLiteral",
"src": "4961:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4932:3:7",
"nodeType": "YulIdentifier",
"src": "4932:3:7"
},
"nativeSrc": "4932:32:7",
"nodeType": "YulFunctionCall",
"src": "4932:32:7"
},
"nativeSrc": "4929:119:7",
"nodeType": "YulIf",
"src": "4929:119:7"
},
{
"nativeSrc": "5058:117:7",
"nodeType": "YulBlock",
"src": "5058:117:7",
"statements": [
{
"nativeSrc": "5073:15:7",
"nodeType": "YulVariableDeclaration",
"src": "5073:15:7",
"value": {
"kind": "number",
"nativeSrc": "5087:1:7",
"nodeType": "YulLiteral",
"src": "5087:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5077:6:7",
"nodeType": "YulTypedName",
"src": "5077:6:7",
"type": ""
}
]
},
{
"nativeSrc": "5102:63:7",
"nodeType": "YulAssignment",
"src": "5102:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5137:9:7",
"nodeType": "YulIdentifier",
"src": "5137:9:7"
},
{
"name": "offset",
"nativeSrc": "5148:6:7",
"nodeType": "YulIdentifier",
"src": "5148:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5133:3:7",
"nodeType": "YulIdentifier",
"src": "5133:3:7"
},
"nativeSrc": "5133:22:7",
"nodeType": "YulFunctionCall",
"src": "5133:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "5157:7:7",
"nodeType": "YulIdentifier",
"src": "5157:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5112:20:7",
"nodeType": "YulIdentifier",
"src": "5112:20:7"
},
"nativeSrc": "5112:53:7",
"nodeType": "YulFunctionCall",
"src": "5112:53:7"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5102:6:7",
"nodeType": "YulIdentifier",
"src": "5102:6:7"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "4853:329:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4889:9:7",
"nodeType": "YulTypedName",
"src": "4889:9:7",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4900:7:7",
"nodeType": "YulTypedName",
"src": "4900:7:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4912:6:7",
"nodeType": "YulTypedName",
"src": "4912:6:7",
"type": ""
}
],
"src": "4853:329:7"
},
{
"body": {
"nativeSrc": "5271:391:7",
"nodeType": "YulBlock",
"src": "5271:391:7",
"statements": [
{
"body": {
"nativeSrc": "5317:83:7",
"nodeType": "YulBlock",
"src": "5317:83:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5319:77:7",
"nodeType": "YulIdentifier",
"src": "5319:77:7"
},
"nativeSrc": "5319:79:7",
"nodeType": "YulFunctionCall",
"src": "5319:79:7"
},
"nativeSrc": "5319:79:7",
"nodeType": "YulExpressionStatement",
"src": "5319:79:7"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5292:7:7",
"nodeType": "YulIdentifier",
"src": "5292:7:7"
},
{
"name": "headStart",
"nativeSrc": "5301:9:7",
"nodeType": "YulIdentifier",
"src": "5301:9:7"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5288:3:7",
"nodeType": "YulIdentifier",
"src": "5288:3:7"
},
"nativeSrc": "5288:23:7",
"nodeType": "YulFunctionCall",
"src": "5288:23:7"
},
{
"kind": "number",
"nativeSrc": "5313:2:7",
"nodeType": "YulLiteral",
"src": "5313:2:7",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5284:3:7",
"nodeType": "YulIdentifier",
"src": "5284:3:7"
},
"nativeSrc": "5284:32:7",
"nodeType": "YulFunctionCall",
"src": "5284:32:7"
},
"nativeSrc": "5281:119:7",
"nodeType": "YulIf",
"src": "5281:119:7"
},
{
"nativeSrc": "5410:117:7",
"nodeType": "YulBlock",
"src": "5410:117:7",
"statements": [
{
"nativeSrc": "5425:15:7",
"nodeType": "YulVariableDeclaration",
"src": "5425:15:7",
"value": {
"kind": "number",
"nativeSrc": "5439:1:7",
"nodeType": "YulLiteral",
"src": "5439:1:7",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5429:6:7",
"nodeType": "YulTypedName",
"src": "5429:6:7",
"type": ""
}
]
},
{
"nativeSrc": "5454:63:7",
"nodeType": "YulAssignment",
"src": "5454:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5489:9:7",
"nodeType": "YulIdentifier",
"src": "5489:9:7"
},
{
"name": "offset",
"nativeSrc": "5500:6:7",
"nodeType": "YulIdentifier",
"src": "5500:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5485:3:7",
"nodeType": "YulIdentifier",
"src": "5485:3:7"
},
"nativeSrc": "5485:22:7",
"nodeType": "YulFunctionCall",
"src": "5485:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "5509:7:7",
"nodeType": "YulIdentifier",
"src": "5509:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5464:20:7",
"nodeType": "YulIdentifier",
"src": "5464:20:7"
},
"nativeSrc": "5464:53:7",
"nodeType": "YulFunctionCall",
"src": "5464:53:7"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5454:6:7",
"nodeType": "YulIdentifier",
"src": "5454:6:7"
}
]
}
]
},
{
"nativeSrc": "5537:118:7",
"nodeType": "YulBlock",
"src": "5537:118:7",
"statements": [
{
"nativeSrc": "5552:16:7",
"nodeType": "YulVariableDeclaration",
"src": "5552:16:7",
"value": {
"kind": "number",
"nativeSrc": "5566:2:7",
"nodeType": "YulLiteral",
"src": "5566:2:7",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5556:6:7",
"nodeType": "YulTypedName",
"src": "5556:6:7",
"type": ""
}
]
},
{
"nativeSrc": "5582:63:7",
"nodeType": "YulAssignment",
"src": "5582:63:7",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5617:9:7",
"nodeType": "YulIdentifier",
"src": "5617:9:7"
},
{
"name": "offset",
"nativeSrc": "5628:6:7",
"nodeType": "YulIdentifier",
"src": "5628:6:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5613:3:7",
"nodeType": "YulIdentifier",
"src": "5613:3:7"
},
"nativeSrc": "5613:22:7",
"nodeType": "YulFunctionCall",
"src": "5613:22:7"
},
{
"name": "dataEnd",
"nativeSrc": "5637:7:7",
"nodeType": "YulIdentifier",
"src": "5637:7:7"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5592:20:7",
"nodeType": "YulIdentifier",
"src": "5592:20:7"
},
"nativeSrc": "5592:53:7",
"nodeType": "YulFunctionCall",
"src": "5592:53:7"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "5582:6:7",
"nodeType": "YulIdentifier",
"src": "5582:6:7"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nativeSrc": "5188:474:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5233:9:7",
"nodeType": "YulTypedName",
"src": "5233:9:7",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5244:7:7",
"nodeType": "YulTypedName",
"src": "5244:7:7",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5256:6:7",
"nodeType": "YulTypedName",
"src": "5256:6:7",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5264:6:7",
"nodeType": "YulTypedName",
"src": "5264:6:7",
"type": ""
}
],
"src": "5188:474:7"
},
{
"body": {
"nativeSrc": "5696:152:7",
"nodeType": "YulBlock",
"src": "5696:152:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5713:1:7",
"nodeType": "YulLiteral",
"src": "5713:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5716:77:7",
"nodeType": "YulLiteral",
"src": "5716:77:7",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5706:6:7",
"nodeType": "YulIdentifier",
"src": "5706:6:7"
},
"nativeSrc": "5706:88:7",
"nodeType": "YulFunctionCall",
"src": "5706:88:7"
},
"nativeSrc": "5706:88:7",
"nodeType": "YulExpressionStatement",
"src": "5706:88:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5810:1:7",
"nodeType": "YulLiteral",
"src": "5810:1:7",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "5813:4:7",
"nodeType": "YulLiteral",
"src": "5813:4:7",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5803:6:7",
"nodeType": "YulIdentifier",
"src": "5803:6:7"
},
"nativeSrc": "5803:15:7",
"nodeType": "YulFunctionCall",
"src": "5803:15:7"
},
"nativeSrc": "5803:15:7",
"nodeType": "YulExpressionStatement",
"src": "5803:15:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5834:1:7",
"nodeType": "YulLiteral",
"src": "5834:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5837:4:7",
"nodeType": "YulLiteral",
"src": "5837:4:7",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5827:6:7",
"nodeType": "YulIdentifier",
"src": "5827:6:7"
},
"nativeSrc": "5827:15:7",
"nodeType": "YulFunctionCall",
"src": "5827:15:7"
},
"nativeSrc": "5827:15:7",
"nodeType": "YulExpressionStatement",
"src": "5827:15:7"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "5668:180:7",
"nodeType": "YulFunctionDefinition",
"src": "5668:180:7"
},
{
"body": {
"nativeSrc": "5905:269:7",
"nodeType": "YulBlock",
"src": "5905:269:7",
"statements": [
{
"nativeSrc": "5915:22:7",
"nodeType": "YulAssignment",
"src": "5915:22:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "5929:4:7",
"nodeType": "YulIdentifier",
"src": "5929:4:7"
},
{
"kind": "number",
"nativeSrc": "5935:1:7",
"nodeType": "YulLiteral",
"src": "5935:1:7",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "5925:3:7",
"nodeType": "YulIdentifier",
"src": "5925:3:7"
},
"nativeSrc": "5925:12:7",
"nodeType": "YulFunctionCall",
"src": "5925:12:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "5915:6:7",
"nodeType": "YulIdentifier",
"src": "5915:6:7"
}
]
},
{
"nativeSrc": "5946:38:7",
"nodeType": "YulVariableDeclaration",
"src": "5946:38:7",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "5976:4:7",
"nodeType": "YulIdentifier",
"src": "5976:4:7"
},
{
"kind": "number",
"nativeSrc": "5982:1:7",
"nodeType": "YulLiteral",
"src": "5982:1:7",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5972:3:7",
"nodeType": "YulIdentifier",
"src": "5972:3:7"
},
"nativeSrc": "5972:12:7",
"nodeType": "YulFunctionCall",
"src": "5972:12:7"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "5950:18:7",
"nodeType": "YulTypedName",
"src": "5950:18:7",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6023:51:7",
"nodeType": "YulBlock",
"src": "6023:51:7",
"statements": [
{
"nativeSrc": "6037:27:7",
"nodeType": "YulAssignment",
"src": "6037:27:7",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "6051:6:7",
"nodeType": "YulIdentifier",
"src": "6051:6:7"
},
{
"kind": "number",
"nativeSrc": "6059:4:7",
"nodeType": "YulLiteral",
"src": "6059:4:7",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6047:3:7",
"nodeType": "YulIdentifier",
"src": "6047:3:7"
},
"nativeSrc": "6047:17:7",
"nodeType": "YulFunctionCall",
"src": "6047:17:7"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "6037:6:7",
"nodeType": "YulIdentifier",
"src": "6037:6:7"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6003:18:7",
"nodeType": "YulIdentifier",
"src": "6003:18:7"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5996:6:7",
"nodeType": "YulIdentifier",
"src": "5996:6:7"
},
"nativeSrc": "5996:26:7",
"nodeType": "YulFunctionCall",
"src": "5996:26:7"
},
"nativeSrc": "5993:81:7",
"nodeType": "YulIf",
"src": "5993:81:7"
},
{
"body": {
"nativeSrc": "6126:42:7",
"nodeType": "YulBlock",
"src": "6126:42:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "6140:16:7",
"nodeType": "YulIdentifier",
"src": "6140:16:7"
},
"nativeSrc": "6140:18:7",
"nodeType": "YulFunctionCall",
"src": "6140:18:7"
},
"nativeSrc": "6140:18:7",
"nodeType": "YulExpressionStatement",
"src": "6140:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6090:18:7",
"nodeType": "YulIdentifier",
"src": "6090:18:7"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "6113:6:7",
"nodeType": "YulIdentifier",
"src": "6113:6:7"
},
{
"kind": "number",
"nativeSrc": "6121:2:7",
"nodeType": "YulLiteral",
"src": "6121:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "6110:2:7",
"nodeType": "YulIdentifier",
"src": "6110:2:7"
},
"nativeSrc": "6110:14:7",
"nodeType": "YulFunctionCall",
"src": "6110:14:7"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "6087:2:7",
"nodeType": "YulIdentifier",
"src": "6087:2:7"
},
"nativeSrc": "6087:38:7",
"nodeType": "YulFunctionCall",
"src": "6087:38:7"
},
"nativeSrc": "6084:84:7",
"nodeType": "YulIf",
"src": "6084:84:7"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "5854:320:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "5889:4:7",
"nodeType": "YulTypedName",
"src": "5889:4:7",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "5898:6:7",
"nodeType": "YulTypedName",
"src": "5898:6:7",
"type": ""
}
],
"src": "5854:320:7"
},
{
"body": {
"nativeSrc": "6245:53:7",
"nodeType": "YulBlock",
"src": "6245:53:7",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6262:3:7",
"nodeType": "YulIdentifier",
"src": "6262:3:7"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "6285:5:7",
"nodeType": "YulIdentifier",
"src": "6285:5:7"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "6267:17:7",
"nodeType": "YulIdentifier",
"src": "6267:17:7"
},
"nativeSrc": "6267:24:7",
"nodeType": "YulFunctionCall",
"src": "6267:24:7"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6255:6:7",
"nodeType": "YulIdentifier",
"src": "6255:6:7"
},
"nativeSrc": "6255:37:7",
"nodeType": "YulFunctionCall",
"src": "6255:37:7"
},
"nativeSrc": "6255:37:7",
"nodeType": "YulExpressionStatement",
"src": "6255:37:7"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "6180:118:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6233:5:7",
"nodeType": "YulTypedName",
"src": "6233:5:7",
"type": ""
},
{
"name": "pos",
"nativeSrc": "6240:3:7",
"nodeType": "YulTypedName",
"src": "6240:3:7",
"type": ""
}
],
"src": "6180:118:7"
},
{
"body": {
"nativeSrc": "6458:288:7",
"nodeType": "YulBlock",
"src": "6458:288:7",
"statements": [
{
"nativeSrc": "6468:26:7",
"nodeType": "YulAssignment",
"src": "6468:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6480:9:7",
"nodeType": "YulIdentifier",
"src": "6480:9:7"
},
{
"kind": "number",
"nativeSrc": "6491:2:7",
"nodeType": "YulLiteral",
"src": "6491:2:7",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6476:3:7",
"nodeType": "YulIdentifier",
"src": "6476:3:7"
},
"nativeSrc": "6476:18:7",
"nodeType": "YulFunctionCall",
"src": "6476:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6468:4:7",
"nodeType": "YulIdentifier",
"src": "6468:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6548:6:7",
"nodeType": "YulIdentifier",
"src": "6548:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6561:9:7",
"nodeType": "YulIdentifier",
"src": "6561:9:7"
},
{
"kind": "number",
"nativeSrc": "6572:1:7",
"nodeType": "YulLiteral",
"src": "6572:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6557:3:7",
"nodeType": "YulIdentifier",
"src": "6557:3:7"
},
"nativeSrc": "6557:17:7",
"nodeType": "YulFunctionCall",
"src": "6557:17:7"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "6504:43:7",
"nodeType": "YulIdentifier",
"src": "6504:43:7"
},
"nativeSrc": "6504:71:7",
"nodeType": "YulFunctionCall",
"src": "6504:71:7"
},
"nativeSrc": "6504:71:7",
"nodeType": "YulExpressionStatement",
"src": "6504:71:7"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "6629:6:7",
"nodeType": "YulIdentifier",
"src": "6629:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6642:9:7",
"nodeType": "YulIdentifier",
"src": "6642:9:7"
},
{
"kind": "number",
"nativeSrc": "6653:2:7",
"nodeType": "YulLiteral",
"src": "6653:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6638:3:7",
"nodeType": "YulIdentifier",
"src": "6638:3:7"
},
"nativeSrc": "6638:18:7",
"nodeType": "YulFunctionCall",
"src": "6638:18:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "6585:43:7",
"nodeType": "YulIdentifier",
"src": "6585:43:7"
},
"nativeSrc": "6585:72:7",
"nodeType": "YulFunctionCall",
"src": "6585:72:7"
},
"nativeSrc": "6585:72:7",
"nodeType": "YulExpressionStatement",
"src": "6585:72:7"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "6711:6:7",
"nodeType": "YulIdentifier",
"src": "6711:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6724:9:7",
"nodeType": "YulIdentifier",
"src": "6724:9:7"
},
{
"kind": "number",
"nativeSrc": "6735:2:7",
"nodeType": "YulLiteral",
"src": "6735:2:7",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6720:3:7",
"nodeType": "YulIdentifier",
"src": "6720:3:7"
},
"nativeSrc": "6720:18:7",
"nodeType": "YulFunctionCall",
"src": "6720:18:7"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "6667:43:7",
"nodeType": "YulIdentifier",
"src": "6667:43:7"
},
"nativeSrc": "6667:72:7",
"nodeType": "YulFunctionCall",
"src": "6667:72:7"
},
"nativeSrc": "6667:72:7",
"nodeType": "YulExpressionStatement",
"src": "6667:72:7"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed",
"nativeSrc": "6304:442:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6414:9:7",
"nodeType": "YulTypedName",
"src": "6414:9:7",
"type": ""
},
{
"name": "value2",
"nativeSrc": "6426:6:7",
"nodeType": "YulTypedName",
"src": "6426:6:7",
"type": ""
},
{
"name": "value1",
"nativeSrc": "6434:6:7",
"nodeType": "YulTypedName",
"src": "6434:6:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6442:6:7",
"nodeType": "YulTypedName",
"src": "6442:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6453:4:7",
"nodeType": "YulTypedName",
"src": "6453:4:7",
"type": ""
}
],
"src": "6304:442:7"
},
{
"body": {
"nativeSrc": "6850:124:7",
"nodeType": "YulBlock",
"src": "6850:124:7",
"statements": [
{
"nativeSrc": "6860:26:7",
"nodeType": "YulAssignment",
"src": "6860:26:7",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6872:9:7",
"nodeType": "YulIdentifier",
"src": "6872:9:7"
},
{
"kind": "number",
"nativeSrc": "6883:2:7",
"nodeType": "YulLiteral",
"src": "6883:2:7",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6868:3:7",
"nodeType": "YulIdentifier",
"src": "6868:3:7"
},
"nativeSrc": "6868:18:7",
"nodeType": "YulFunctionCall",
"src": "6868:18:7"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6860:4:7",
"nodeType": "YulIdentifier",
"src": "6860:4:7"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6940:6:7",
"nodeType": "YulIdentifier",
"src": "6940:6:7"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6953:9:7",
"nodeType": "YulIdentifier",
"src": "6953:9:7"
},
{
"kind": "number",
"nativeSrc": "6964:1:7",
"nodeType": "YulLiteral",
"src": "6964:1:7",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6949:3:7",
"nodeType": "YulIdentifier",
"src": "6949:3:7"
},
"nativeSrc": "6949:17:7",
"nodeType": "YulFunctionCall",
"src": "6949:17:7"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "6896:43:7",
"nodeType": "YulIdentifier",
"src": "6896:43:7"
},
"nativeSrc": "6896:71:7",
"nodeType": "YulFunctionCall",
"src": "6896:71:7"
},
"nativeSrc": "6896:71:7",
"nodeType": "YulExpressionStatement",
"src": "6896:71:7"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "6752:222:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6822:9:7",
"nodeType": "YulTypedName",
"src": "6822:9:7",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6834:6:7",
"nodeType": "YulTypedName",
"src": "6834:6:7",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6845:4:7",
"nodeType": "YulTypedName",
"src": "6845:4:7",
"type": ""
}
],
"src": "6752:222:7"
},
{
"body": {
"nativeSrc": "7008:152:7",
"nodeType": "YulBlock",
"src": "7008:152:7",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7025:1:7",
"nodeType": "YulLiteral",
"src": "7025:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7028:77:7",
"nodeType": "YulLiteral",
"src": "7028:77:7",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7018:6:7",
"nodeType": "YulIdentifier",
"src": "7018:6:7"
},
"nativeSrc": "7018:88:7",
"nodeType": "YulFunctionCall",
"src": "7018:88:7"
},
"nativeSrc": "7018:88:7",
"nodeType": "YulExpressionStatement",
"src": "7018:88:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7122:1:7",
"nodeType": "YulLiteral",
"src": "7122:1:7",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "7125:4:7",
"nodeType": "YulLiteral",
"src": "7125:4:7",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7115:6:7",
"nodeType": "YulIdentifier",
"src": "7115:6:7"
},
"nativeSrc": "7115:15:7",
"nodeType": "YulFunctionCall",
"src": "7115:15:7"
},
"nativeSrc": "7115:15:7",
"nodeType": "YulExpressionStatement",
"src": "7115:15:7"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7146:1:7",
"nodeType": "YulLiteral",
"src": "7146:1:7",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7149:4:7",
"nodeType": "YulLiteral",
"src": "7149:4:7",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7139:6:7",
"nodeType": "YulIdentifier",
"src": "7139:6:7"
},
"nativeSrc": "7139:15:7",
"nodeType": "YulFunctionCall",
"src": "7139:15:7"
},
"nativeSrc": "7139:15:7",
"nodeType": "YulExpressionStatement",
"src": "7139:15:7"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "6980:180:7",
"nodeType": "YulFunctionDefinition",
"src": "6980:180:7"
},
{
"body": {
"nativeSrc": "7210:147:7",
"nodeType": "YulBlock",
"src": "7210:147:7",
"statements": [
{
"nativeSrc": "7220:25:7",
"nodeType": "YulAssignment",
"src": "7220:25:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7243:1:7",
"nodeType": "YulIdentifier",
"src": "7243:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7225:17:7",
"nodeType": "YulIdentifier",
"src": "7225:17:7"
},
"nativeSrc": "7225:20:7",
"nodeType": "YulFunctionCall",
"src": "7225:20:7"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "7220:1:7",
"nodeType": "YulIdentifier",
"src": "7220:1:7"
}
]
},
{
"nativeSrc": "7254:25:7",
"nodeType": "YulAssignment",
"src": "7254:25:7",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "7277:1:7",
"nodeType": "YulIdentifier",
"src": "7277:1:7"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7259:17:7",
"nodeType": "YulIdentifier",
"src": "7259:17:7"
},
"nativeSrc": "7259:20:7",
"nodeType": "YulFunctionCall",
"src": "7259:20:7"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "7254:1:7",
"nodeType": "YulIdentifier",
"src": "7254:1:7"
}
]
},
{
"nativeSrc": "7288:16:7",
"nodeType": "YulAssignment",
"src": "7288:16:7",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7299:1:7",
"nodeType": "YulIdentifier",
"src": "7299:1:7"
},
{
"name": "y",
"nativeSrc": "7302:1:7",
"nodeType": "YulIdentifier",
"src": "7302:1:7"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7295:3:7",
"nodeType": "YulIdentifier",
"src": "7295:3:7"
},
"nativeSrc": "7295:9:7",
"nodeType": "YulFunctionCall",
"src": "7295:9:7"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "7288:3:7",
"nodeType": "YulIdentifier",
"src": "7288:3:7"
}
]
},
{
"body": {
"nativeSrc": "7328:22:7",
"nodeType": "YulBlock",
"src": "7328:22:7",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7330:16:7",
"nodeType": "YulIdentifier",
"src": "7330:16:7"
},
"nativeSrc": "7330:18:7",
"nodeType": "YulFunctionCall",
"src": "7330:18:7"
},
"nativeSrc": "7330:18:7",
"nodeType": "YulExpressionStatement",
"src": "7330:18:7"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "7320:1:7",
"nodeType": "YulIdentifier",
"src": "7320:1:7"
},
{
"name": "sum",
"nativeSrc": "7323:3:7",
"nodeType": "YulIdentifier",
"src": "7323:3:7"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7317:2:7",
"nodeType": "YulIdentifier",
"src": "7317:2:7"
},
"nativeSrc": "7317:10:7",
"nodeType": "YulFunctionCall",
"src": "7317:10:7"
},
"nativeSrc": "7314:36:7",
"nodeType": "YulIf",
"src": "7314:36:7"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "7166:191:7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "7197:1:7",
"nodeType": "YulTypedName",
"src": "7197:1:7",
"type": ""
},
{
"name": "y",
"nativeSrc": "7200:1:7",
"nodeType": "YulTypedName",
"src": "7200:1:7",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "7206:3:7",
"nodeType": "YulTypedName",
"src": "7206:3:7",
"type": ""
}
],
"src": "7166:191:7"
}
]
},
"contents": "{\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 copy_memory_to_memory_with_cleanup(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 mstore(add(dst, length), 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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\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 cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\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_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 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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 7,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a74565b60405180910390f35b6100cd60048036038101906100c89190610b25565b61028d565b6040516100da9190610b7d565b60405180910390f35b6100eb6102af565b6040516100f89190610ba5565b60405180910390f35b61011b60048036038101906101169190610bbe565b6102b8565b6040516101289190610b7d565b60405180910390f35b6101396102e6565b6040516101469190610c29565b60405180910390f35b61016960048036038101906101649190610c42565b6102ee565b6040516101769190610ba5565b60405180910390f35b610187610333565b6040516101949190610a74565b60405180910390f35b6101b760048036038101906101b29190610b25565b6103c3565b6040516101c49190610b7d565b60405180910390f35b6101e760048036038101906101e29190610c6d565b6103e5565b6040516101f49190610ba5565b60405180910390f35b60606003805461020c90610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd8565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610512565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd8565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610512565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610602565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461050c57818110156104fd578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016104f493929190610d17565b60405180910390fd5b61050b84848484035f610602565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610582575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105799190610d4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f2575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016105e99190610d4c565b60405180910390fd5b6105fd8383836107d1565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610672575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016106699190610d4c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e2575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016106d99190610d4c565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cb578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c29190610ba5565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610821578060025f8282546108159190610d92565b925050819055506108ef565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108aa578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016108a193929190610d17565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610936578060025f8282540392505081905550610980565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109dd9190610ba5565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a21578082015181840152602081019050610a06565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a46826109ea565b610a5081856109f4565b9350610a60818560208601610a04565b610a6981610a2c565b840191505092915050565b5f6020820190508181035f830152610a8c8184610a3c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac182610a98565b9050919050565b610ad181610ab7565b8114610adb575f80fd5b50565b5f81359050610aec81610ac8565b92915050565b5f819050919050565b610b0481610af2565b8114610b0e575f80fd5b50565b5f81359050610b1f81610afb565b92915050565b5f8060408385031215610b3b57610b3a610a94565b5b5f610b4885828601610ade565b9250506020610b5985828601610b11565b9150509250929050565b5f8115159050919050565b610b7781610b63565b82525050565b5f602082019050610b905f830184610b6e565b92915050565b610b9f81610af2565b82525050565b5f602082019050610bb85f830184610b96565b92915050565b5f805f60608486031215610bd557610bd4610a94565b5b5f610be286828701610ade565b9350506020610bf386828701610ade565b9250506040610c0486828701610b11565b9150509250925092565b5f60ff82169050919050565b610c2381610c0e565b82525050565b5f602082019050610c3c5f830184610c1a565b92915050565b5f60208284031215610c5757610c56610a94565b5b5f610c6484828501610ade565b91505092915050565b5f8060408385031215610c8357610c82610a94565b5b5f610c9085828601610ade565b9250506020610ca185828601610ade565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cef57607f821691505b602082108103610d0257610d01610cab565b5b50919050565b610d1181610ab7565b82525050565b5f606082019050610d2a5f830186610d08565b610d376020830185610b96565b610d446040830184610b96565b949350505050565b5f602082019050610d5f5f830184610d08565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9c82610af2565b9150610da783610af2565b9250828201905080821115610dbf57610dbe610d65565b5b9291505056fea2646970667358221220d0d0a4f128554b4bf5d8c4f2bfa8e57667fdc314f5875706b576b47d07e4889f64736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x91 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1CD JUMPI PUSH2 0x91 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x9D PUSH2 0x1FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAA SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC8 SWAP2 SWAP1 PUSH2 0xB25 JUMP JUMPDEST PUSH2 0x28D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEB PUSH2 0x2AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x116 SWAP2 SWAP1 PUSH2 0xBBE JUMP JUMPDEST PUSH2 0x2B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x128 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH2 0x2E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xC29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x164 SWAP2 SWAP1 PUSH2 0xC42 JUMP JUMPDEST PUSH2 0x2EE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x187 PUSH2 0x333 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0xB25 JUMP JUMPDEST PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0xC6D JUMP JUMPDEST PUSH2 0x3E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x20C SWAP1 PUSH2 0xCD8 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 0x238 SWAP1 PUSH2 0xCD8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x283 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x283 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x266 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x297 PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A4 DUP2 DUP6 DUP6 PUSH2 0x46E JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x2C2 PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x2CF DUP6 DUP3 DUP6 PUSH2 0x480 JUMP JUMPDEST PUSH2 0x2DA DUP6 DUP6 DUP6 PUSH2 0x512 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x342 SWAP1 PUSH2 0xCD8 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 0x36E SWAP1 PUSH2 0xCD8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x390 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x39C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x3CD PUSH2 0x467 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DA DUP2 DUP6 DUP6 PUSH2 0x512 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x47B DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x602 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48B DUP5 DUP5 PUSH2 0x3E5 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x50C JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4FD JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4F4 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x50B DUP5 DUP5 DUP5 DUP5 SUB PUSH0 PUSH2 0x602 JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x582 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x579 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x5F2 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E9 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP4 DUP4 DUP4 PUSH2 0x7D1 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x672 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x669 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x6E2 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6D9 SWAP2 SWAP1 PUSH2 0xD4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0x7CB JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7C2 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x821 JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x815 SWAP2 SWAP1 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8EF JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0x8AA JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8A1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD17 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x936 JUMPI DUP1 PUSH1 0x2 PUSH0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x980 JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x9DD SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA21 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA06 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA46 DUP3 PUSH2 0x9EA JUMP JUMPDEST PUSH2 0xA50 DUP2 DUP6 PUSH2 0x9F4 JUMP JUMPDEST SWAP4 POP PUSH2 0xA60 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA04 JUMP JUMPDEST PUSH2 0xA69 DUP2 PUSH2 0xA2C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA8C DUP2 DUP5 PUSH2 0xA3C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xAC1 DUP3 PUSH2 0xA98 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAD1 DUP2 PUSH2 0xAB7 JUMP JUMPDEST DUP2 EQ PUSH2 0xADB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAEC DUP2 PUSH2 0xAC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB04 DUP2 PUSH2 0xAF2 JUMP JUMPDEST DUP2 EQ PUSH2 0xB0E JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB1F DUP2 PUSH2 0xAFB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB3B JUMPI PUSH2 0xB3A PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB48 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB59 DUP6 DUP3 DUP7 ADD PUSH2 0xB11 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB77 DUP2 PUSH2 0xB63 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB90 PUSH0 DUP4 ADD DUP5 PUSH2 0xB6E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB9F DUP2 PUSH2 0xAF2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBB8 PUSH0 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xBD5 JUMPI PUSH2 0xBD4 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBE2 DUP7 DUP3 DUP8 ADD PUSH2 0xADE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xBF3 DUP7 DUP3 DUP8 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC04 DUP7 DUP3 DUP8 ADD PUSH2 0xB11 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC23 DUP2 PUSH2 0xC0E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC3C PUSH0 DUP4 ADD DUP5 PUSH2 0xC1A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC57 JUMPI PUSH2 0xC56 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xC64 DUP5 DUP3 DUP6 ADD PUSH2 0xADE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC83 JUMPI PUSH2 0xC82 PUSH2 0xA94 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xC90 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xCA1 DUP6 DUP3 DUP7 ADD PUSH2 0xADE JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xCEF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xD02 JUMPI PUSH2 0xD01 PUSH2 0xCAB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD11 DUP2 PUSH2 0xAB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xD2A PUSH0 DUP4 ADD DUP7 PUSH2 0xD08 JUMP JUMPDEST PUSH2 0xD37 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xB96 JUMP JUMPDEST PUSH2 0xD44 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD5F PUSH0 DUP4 ADD DUP5 PUSH2 0xD08 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xD9C DUP3 PUSH2 0xAF2 JUMP JUMPDEST SWAP2 POP PUSH2 0xDA7 DUP4 PUSH2 0xAF2 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xDBF JUMPI PUSH2 0xDBE PUSH2 0xD65 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 0xD0 LOG4 CALL 0x28 SSTORE 0x4B 0x4B CREATE2 0xD8 0xC4 CALLCODE 0xBF 0xA8 0xE5 PUSH23 0x67FDC314F5875706B576B47D07E4889F64736F6C634300 ADDMOD XOR STOP CALLER ",
"sourceMap": "139:135:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4293:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3144:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5039:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3002:82;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3299:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2276:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:178;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3846:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2074:89;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;4382:13;4398:12;:10;:12::i;:::-;4382:28;;4420:31;4429:5;4436:7;4445:5;4420:8;:31::i;:::-;4468:4;4461:11;;;4293:186;;;;:::o;3144:97::-;3196:7;3222:12;;3215:19;;3144:97;:::o;5039:244::-;5126:4;5142:15;5160:12;:10;:12::i;:::-;5142:30;;5182:37;5198:4;5204:7;5213:5;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;5272:4;5265:11;;;5039:244;;;;;:::o;3002:82::-;3051:5;3075:2;3068:9;;3002:82;:::o;3299:116::-;3364:7;3390:9;:18;3400:7;3390:18;;;;;;;;;;;;;;;;3383:25;;3299:116;;;:::o;2276:93::-;2323:13;2355:7;2348:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2276:93;:::o;3610:178::-;3679:4;3695:13;3711:12;:10;:12::i;:::-;3695:28;;3733:27;3743:5;3750:2;3754:5;3733:9;:27::i;:::-;3777:4;3770:11;;;3610:178;;;;:::o;3846:140::-;3926:7;3952:11;:18;3964:5;3952:18;;;;;;;;;;;;;;;:27;3971:7;3952:27;;;;;;;;;;;;;;;;3945:34;;3846:140;;;;:::o;656:96:5:-;709:7;735:10;728:17;;656:96;:::o;8989:128:1:-;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;:::-;8989:128;;;:::o;10663:477::-;10762:24;10789:25;10799:5;10806:7;10789:9;:25::i;:::-;10762:52;;10848:17;10828:16;:37;10824:310;;10904:5;10885:16;:24;10881:130;;;10963:7;10972:16;10990:5;10936:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;10881:130;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;:::-;10824:310;10752:388;10663:477;;;:::o;5656:300::-;5755:1;5739:18;;:4;:18;;;5735:86;;5807:1;5780:30;;;;;;;;;;;:::i;:::-;;;;;;;;5735:86;5848:1;5834:16;;:2;:16;;;5830:86;;5902:1;5873:32;;;;;;;;;;;:::i;:::-;;;;;;;;5830:86;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;:::-;5656:300;;;:::o;9949:432::-;10078:1;10061:19;;:5;:19;;;10057:89;;10132:1;10103:32;;;;;;;;;;;:::i;:::-;;;;;;;;10057:89;10178:1;10159:21;;:7;:21;;;10155:90;;10231:1;10203:31;;;;;;;;;;;:::i;:::-;;;;;;;;10155:90;10284:5;10254:11;:18;10266:5;10254:18;;;;;;;;;;;;;;;:27;10273:7;10254:27;;;;;;;;;;;;;;;:35;;;;10303:9;10299:76;;;10349:7;10333:31;;10342:5;10333:31;;;10358:5;10333:31;;;;;;:::i;:::-;;;;;;;;10299:76;9949:432;;;;:::o;6271:1107::-;6376:1;6360:18;;:4;:18;;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;;;;;6356:540;;;6548:19;6570:9;:15;6580:4;6570:15;;;;;;;;;;;;;;;;6548:37;;6617:5;6603:11;:19;6599:115;;;6674:4;6680:11;6693:5;6649:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6599:115;6866:5;6852:11;:19;6834:9;:15;6844:4;6834:15;;;;;;;;;;;;;;;:37;;;;6534:362;6356:540;6924:1;6910:16;;:2;:16;;;6906:425;;7089:5;7073:12;;:21;;;;;;;;;;;6906:425;;;7301:5;7284:9;:13;7294:2;7284:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6906:425;7361:2;7346:25;;7355:4;7346:25;;;7365:5;7346:25;;;;;;:::i;:::-;;;;;;;;6271:1107;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:180::-;5716:77;5713:1;5706:88;5813:4;5810:1;5803:15;5837:4;5834:1;5827:15;5854:320;5898:6;5935:1;5929:4;5925:12;5915:22;;5982:1;5976:4;5972:12;6003:18;5993:81;;6059:4;6051:6;6047:17;6037:27;;5993:81;6121:2;6113:6;6110:14;6090:18;6087:38;6084:84;;6140:18;;:::i;:::-;6084:84;5905:269;5854:320;;;:::o;6180:118::-;6267:24;6285:5;6267:24;:::i;:::-;6262:3;6255:37;6180:118;;:::o;6304:442::-;6453:4;6491:2;6480:9;6476:18;6468:26;;6504:71;6572:1;6561:9;6557:17;6548:6;6504:71;:::i;:::-;6585:72;6653:2;6642:9;6638:18;6629:6;6585:72;:::i;:::-;6667;6735:2;6724:9;6720:18;6711:6;6667:72;:::i;:::-;6304:442;;;;;;:::o;6752:222::-;6845:4;6883:2;6872:9;6868:18;6860:26;;6896:71;6964:1;6953:9;6949:17;6940:6;6896:71;:::i;:::-;6752:222;;;;:::o;6980:180::-;7028:77;7025:1;7018:88;7125:4;7122:1;7115:15;7149:4;7146:1;7139:15;7166:191;7206:3;7225:20;7243:1;7225:20;:::i;:::-;7220:25;;7259:20;7277:1;7259:20;:::i;:::-;7254:25;;7302:1;7299;7295:9;7288:16;;7323:3;7320:1;7317:10;7314:36;;;7330:18;;:::i;:::-;7314:36;7166:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "715800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2851",
"decimals()": "338",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "2477",
"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": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}