{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3241:1","statements":[{"body":{"nodeType":"YulBlock","src":"126:553:1","statements":[{"nodeType":"YulAssignment","src":"136:90:1","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"218:6:1"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"161:56:1"},"nodeType":"YulFunctionCall","src":"161:64:1"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"145:15:1"},"nodeType":"YulFunctionCall","src":"145:81:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"136:5:1"}]},{"nodeType":"YulVariableDeclaration","src":"235:16:1","value":{"name":"array","nodeType":"YulIdentifier","src":"246:5:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"239:3:1","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"268:5:1"},{"name":"length","nodeType":"YulIdentifier","src":"275:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"261:6:1"},"nodeType":"YulFunctionCall","src":"261:21:1"},"nodeType":"YulExpressionStatement","src":"261:21:1"},{"nodeType":"YulAssignment","src":"291:23:1","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"302:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"309:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"298:3:1"},"nodeType":"YulFunctionCall","src":"298:16:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"291:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"324:17:1","value":{"name":"offset","nodeType":"YulIdentifier","src":"335:6:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"328:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"390:36:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"411:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"414:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"404:6:1"},"nodeType":"YulFunctionCall","src":"404:12:1"},"nodeType":"YulExpressionStatement","src":"404:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"360:3:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"377:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"365:3:1"},"nodeType":"YulFunctionCall","src":"365:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"356:3:1"},"nodeType":"YulFunctionCall","src":"356:27:1"},{"name":"end","nodeType":"YulIdentifier","src":"385:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"353:2:1"},"nodeType":"YulFunctionCall","src":"353:36:1"},"nodeType":"YulIf","src":"350:2:1"},{"body":{"nodeType":"YulBlock","src":"495:178:1","statements":[{"nodeType":"YulVariableDeclaration","src":"510:21:1","value":{"name":"src","nodeType":"YulIdentifier","src":"528:3:1"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"514:10:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"552:3:1"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"578:10:1"},{"name":"end","nodeType":"YulIdentifier","src":"590:3:1"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"557:20:1"},"nodeType":"YulFunctionCall","src":"557:37:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"545:6:1"},"nodeType":"YulFunctionCall","src":"545:50:1"},"nodeType":"YulExpressionStatement","src":"545:50:1"},{"nodeType":"YulAssignment","src":"608:21:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"619:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"624:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"615:3:1"},"nodeType":"YulFunctionCall","src":"615:14:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"608:3:1"}]},{"nodeType":"YulAssignment","src":"642:21:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"653:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"658:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"649:3:1"},"nodeType":"YulFunctionCall","src":"649:14:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"642:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"457:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"460:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"454:2:1"},"nodeType":"YulFunctionCall","src":"454:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"468:18:1","statements":[{"nodeType":"YulAssignment","src":"470:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"479:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"482:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"475:3:1"},"nodeType":"YulFunctionCall","src":"475:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"470:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"439:14:1","statements":[{"nodeType":"YulVariableDeclaration","src":"441:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"450:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"445:1:1","type":""}]}]},"src":"435:238:1"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"96:6:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"104:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"112:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"120:5:1","type":""}],"src":"24:655:1"},{"body":{"nodeType":"YulBlock","src":"779:226:1","statements":[{"body":{"nodeType":"YulBlock","src":"828:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"837:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"840:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"830:6:1"},"nodeType":"YulFunctionCall","src":"830:12:1"},"nodeType":"YulExpressionStatement","src":"830:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"807:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"815:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"803:3:1"},"nodeType":"YulFunctionCall","src":"803:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"822:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"799:3:1"},"nodeType":"YulFunctionCall","src":"799:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"792:6:1"},"nodeType":"YulFunctionCall","src":"792:35:1"},"nodeType":"YulIf","src":"789:2:1"},{"nodeType":"YulVariableDeclaration","src":"853:34:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"880:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"867:12:1"},"nodeType":"YulFunctionCall","src":"867:20:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"857:6:1","type":""}]},{"nodeType":"YulAssignment","src":"896:103:1","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"972:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"980:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"968:3:1"},"nodeType":"YulFunctionCall","src":"968:17:1"},{"name":"length","nodeType":"YulIdentifier","src":"987:6:1"},{"name":"end","nodeType":"YulIdentifier","src":"995:3:1"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"905:62:1"},"nodeType":"YulFunctionCall","src":"905:94:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"896:5:1"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"757:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"765:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"773:5:1","type":""}],"src":"702:303:1"},{"body":{"nodeType":"YulBlock","src":"1063:87:1","statements":[{"nodeType":"YulAssignment","src":"1073:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1095:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1082:12:1"},"nodeType":"YulFunctionCall","src":"1082:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1073:5:1"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1138:5:1"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1111:26:1"},"nodeType":"YulFunctionCall","src":"1111:33:1"},"nodeType":"YulExpressionStatement","src":"1111:33:1"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1041:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"1049:3:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1057:5:1","type":""}],"src":"1011:139:1"},{"body":{"nodeType":"YulBlock","src":"1247:314:1","statements":[{"body":{"nodeType":"YulBlock","src":"1293:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1302:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1305:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1295:6:1"},"nodeType":"YulFunctionCall","src":"1295:12:1"},"nodeType":"YulExpressionStatement","src":"1295:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1268:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"1277:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1264:3:1"},"nodeType":"YulFunctionCall","src":"1264:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"1289:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1260:3:1"},"nodeType":"YulFunctionCall","src":"1260:32:1"},"nodeType":"YulIf","src":"1257:2:1"},{"nodeType":"YulBlock","src":"1319:235:1","statements":[{"nodeType":"YulVariableDeclaration","src":"1334:45:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1365:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1376:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1361:3:1"},"nodeType":"YulFunctionCall","src":"1361:17:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1348:12:1"},"nodeType":"YulFunctionCall","src":"1348:31:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1338:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1426:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1435:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1438:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1428:6:1"},"nodeType":"YulFunctionCall","src":"1428:12:1"},"nodeType":"YulExpressionStatement","src":"1428:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1398:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"1406:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1395:2:1"},"nodeType":"YulFunctionCall","src":"1395:30:1"},"nodeType":"YulIf","src":"1392:2:1"},{"nodeType":"YulAssignment","src":"1456:88:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1516:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"1527:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:3:1"},"nodeType":"YulFunctionCall","src":"1512:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1536:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"1466:45:1"},"nodeType":"YulFunctionCall","src":"1466:78:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1456:6:1"}]}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1217:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1228:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1240:6:1","type":""}],"src":"1156:405:1"},{"body":{"nodeType":"YulBlock","src":"1632:53:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1649:3:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1672:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"1654:17:1"},"nodeType":"YulFunctionCall","src":"1654:24:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1642:6:1"},"nodeType":"YulFunctionCall","src":"1642:37:1"},"nodeType":"YulExpressionStatement","src":"1642:37:1"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1620:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1627:3:1","type":""}],"src":"1567:118:1"},{"body":{"nodeType":"YulBlock","src":"1789:124:1","statements":[{"nodeType":"YulAssignment","src":"1799:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1811:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1822:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1807:3:1"},"nodeType":"YulFunctionCall","src":"1807:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1799:4:1"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1879:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1892:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1903:1:1","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1888:3:1"},"nodeType":"YulFunctionCall","src":"1888:17:1"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"1835:43:1"},"nodeType":"YulFunctionCall","src":"1835:71:1"},"nodeType":"YulExpressionStatement","src":"1835:71:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1761:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1773:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1784:4:1","type":""}],"src":"1691:222:1"},{"body":{"nodeType":"YulBlock","src":"1960:88:1","statements":[{"nodeType":"YulAssignment","src":"1970:30:1","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"1980:18:1"},"nodeType":"YulFunctionCall","src":"1980:20:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1970:6:1"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2029:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"2037:4:1"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"2009:19:1"},"nodeType":"YulFunctionCall","src":"2009:33:1"},"nodeType":"YulExpressionStatement","src":"2009:33:1"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"1944:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1953:6:1","type":""}],"src":"1919:129:1"},{"body":{"nodeType":"YulBlock","src":"2094:35:1","statements":[{"nodeType":"YulAssignment","src":"2104:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2120:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2114:5:1"},"nodeType":"YulFunctionCall","src":"2114:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2104:6:1"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2087:6:1","type":""}],"src":"2054:75:1"},{"body":{"nodeType":"YulBlock","src":"2217:229:1","statements":[{"body":{"nodeType":"YulBlock","src":"2322:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2324:16:1"},"nodeType":"YulFunctionCall","src":"2324:18:1"},"nodeType":"YulExpressionStatement","src":"2324:18:1"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2294:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2302:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2291:2:1"},"nodeType":"YulFunctionCall","src":"2291:30:1"},"nodeType":"YulIf","src":"2288:2:1"},{"nodeType":"YulAssignment","src":"2354:25:1","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2366:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2374:4:1","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2362:3:1"},"nodeType":"YulFunctionCall","src":"2362:17:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2354:4:1"}]},{"nodeType":"YulAssignment","src":"2416:23:1","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2428:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"2434:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2424:3:1"},"nodeType":"YulFunctionCall","src":"2424:15:1"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"2416:4:1"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"2201:6:1","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"2212:4:1","type":""}],"src":"2135:311:1"},{"body":{"nodeType":"YulBlock","src":"2497:32:1","statements":[{"nodeType":"YulAssignment","src":"2507:16:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2518:5:1"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"2507:7:1"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2479:5:1","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"2489:7:1","type":""}],"src":"2452:77:1"},{"body":{"nodeType":"YulBlock","src":"2578:238:1","statements":[{"nodeType":"YulVariableDeclaration","src":"2588:58:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2610:6:1"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"2640:4:1"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2618:21:1"},"nodeType":"YulFunctionCall","src":"2618:27:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:3:1"},"nodeType":"YulFunctionCall","src":"2606:40:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2592:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2757:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2759:16:1"},"nodeType":"YulFunctionCall","src":"2759:18:1"},"nodeType":"YulExpressionStatement","src":"2759:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2700:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"2712:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2697:2:1"},"nodeType":"YulFunctionCall","src":"2697:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2736:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2748:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2733:2:1"},"nodeType":"YulFunctionCall","src":"2733:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2694:2:1"},"nodeType":"YulFunctionCall","src":"2694:62:1"},"nodeType":"YulIf","src":"2691:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2795:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2799:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2788:6:1"},"nodeType":"YulFunctionCall","src":"2788:22:1"},"nodeType":"YulExpressionStatement","src":"2788:22:1"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"2564:6:1","type":""},{"name":"size","nodeType":"YulTypedName","src":"2572:4:1","type":""}],"src":"2535:281:1"},{"body":{"nodeType":"YulBlock","src":"2850:152:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2867:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2870:77:1","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2860:6:1"},"nodeType":"YulFunctionCall","src":"2860:88:1"},"nodeType":"YulExpressionStatement","src":"2860:88:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2964:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2967:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2957:6:1"},"nodeType":"YulFunctionCall","src":"2957:15:1"},"nodeType":"YulExpressionStatement","src":"2957:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2988:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2991:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2981:6:1"},"nodeType":"YulFunctionCall","src":"2981:15:1"},"nodeType":"YulExpressionStatement","src":"2981:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2822:180:1"},{"body":{"nodeType":"YulBlock","src":"3056:54:1","statements":[{"nodeType":"YulAssignment","src":"3066:38:1","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3084:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3091:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:3:1"},"nodeType":"YulFunctionCall","src":"3080:14:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3100:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3096:3:1"},"nodeType":"YulFunctionCall","src":"3096:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3076:3:1"},"nodeType":"YulFunctionCall","src":"3076:28:1"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3066:6:1"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3039:5:1","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3049:6:1","type":""}],"src":"3008:102:1"},{"body":{"nodeType":"YulBlock","src":"3159:79:1","statements":[{"body":{"nodeType":"YulBlock","src":"3216:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3225:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3228:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3218:6:1"},"nodeType":"YulFunctionCall","src":"3218:12:1"},"nodeType":"YulExpressionStatement","src":"3218:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3182:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3207:5:1"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3189:17:1"},"nodeType":"YulFunctionCall","src":"3189:24:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3179:2:1"},"nodeType":"YulFunctionCall","src":"3179:35:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3172:6:1"},"nodeType":"YulFunctionCall","src":"3172:43:1"},"nodeType":"YulIf","src":"3169:2:1"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3152:5:1","type":""}],"src":"3116:122:1"}]},"contents":"{ // uint256[] function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array { array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length)) let dst := array mstore(array, length) dst := add(array, 0x20) let src := offset if gt(add(src, mul(length, 0x20)), end) { revert(0, 0) } for { let i := 0 } lt(i, length) { i := add(i, 1) } { let elementPos := src mstore(dst, abi_decode_t_uint256(elementPos, end)) dst := add(dst, 0x20) src := add(src, 0x20) } } // uint256[] function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array { if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) } let length := calldataload(offset) array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end) } function abi_decode_t_uint256(offset, end) -> value { value := calldataload(offset) validator_revert_t_uint256(value) } function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 { if slt(sub(dataEnd, headStart), 32) { revert(0, 0) } { let offset := calldataload(add(headStart, 0)) if gt(offset, 0xffffffffffffffff) { revert(0, 0) } value0 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd) } } function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) { mstore(pos, cleanup_t_uint256(value)) } function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail { tail := add(headStart, 32) abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0)) } function allocate_memory(size) -> memPtr { memPtr := allocate_unbounded() finalize_allocation(memPtr, size) } function allocate_unbounded() -> memPtr { memPtr := mload(64) } function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size { // Make sure we can allocate memory without overflow if gt(length, 0xffffffffffffffff) { panic_error_0x41() } size := mul(length, 0x20) // add length slot size := add(size, 0x20) } function cleanup_t_uint256(value) -> cleaned { cleaned := value } function finalize_allocation(memPtr, size) { let newFreePtr := add(memPtr, round_up_to_mul_of_32(size)) // protect against overflow if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() } mstore(64, newFreePtr) } function panic_error_0x41() { mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856) mstore(4, 0x41) revert(0, 0x24) } function round_up_to_mul_of_32(value) -> result { result := and(add(value, 31), not(31)) } function validator_revert_t_uint256(value) { if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) } } } ","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"errors":[{"component":"general","errorCode":"3420","formattedMessage":"Warning: Source file does not specify required compiler version! --> a.sol ","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":-1,"file":"a.sol","start":-1},"type":"Warning"}],"sources":{"a.sol":{"id":0}}}