Skip to content

Instantly share code, notes, and snippets.

@Kichrum
Created October 16, 2023 20:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kichrum/f89859e3b4a6b31a1009892f7d9194c5 to your computer and use it in GitHub Desktop.
Save Kichrum/f89859e3b4a6b31a1009892f7d9194c5 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.21+commit.d9974bed.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;
library console {
address constant CONSOLE_ADDRESS =
0x000000000000000000636F6e736F6c652e6c6f67;
function _sendLogPayloadImplementation(bytes memory payload) internal view {
address consoleAddress = CONSOLE_ADDRESS;
/// @solidity memory-safe-assembly
assembly {
pop(
staticcall(
gas(),
consoleAddress,
add(payload, 32),
mload(payload),
0,
0
)
)
}
}
function _castToPure(
function(bytes memory) internal view fnIn
) internal pure returns (function(bytes memory) pure fnOut) {
assembly {
fnOut := fnIn
}
}
function _sendLogPayload(bytes memory payload) internal pure {
_castToPure(_sendLogPayloadImplementation)(payload);
}
function log() internal pure {
_sendLogPayload(abi.encodeWithSignature("log()"));
}
function logInt(int256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
}
function logUint(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function logString(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function logBool(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function logAddress(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function logBytes(bytes memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
}
function logBytes1(bytes1 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
}
function logBytes2(bytes2 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
}
function logBytes3(bytes3 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
}
function logBytes4(bytes4 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
}
function logBytes5(bytes5 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
}
function logBytes6(bytes6 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
}
function logBytes7(bytes7 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
}
function logBytes8(bytes8 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
}
function logBytes9(bytes9 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
}
function logBytes10(bytes10 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
}
function logBytes11(bytes11 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
}
function logBytes12(bytes12 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
}
function logBytes13(bytes13 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
}
function logBytes14(bytes14 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
}
function logBytes15(bytes15 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
}
function logBytes16(bytes16 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
}
function logBytes17(bytes17 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
}
function logBytes18(bytes18 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
}
function logBytes19(bytes19 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
}
function logBytes20(bytes20 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
}
function logBytes21(bytes21 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
}
function logBytes22(bytes22 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
}
function logBytes23(bytes23 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
}
function logBytes24(bytes24 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
}
function logBytes25(bytes25 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
}
function logBytes26(bytes26 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
}
function logBytes27(bytes27 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
}
function logBytes28(bytes28 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
}
function logBytes29(bytes29 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
}
function logBytes30(bytes30 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
}
function logBytes31(bytes31 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
}
function logBytes32(bytes32 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
}
function log(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function log(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function log(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function log(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function log(uint256 p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
}
function log(uint256 p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
}
function log(uint256 p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
}
function log(uint256 p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
}
function log(string memory p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
}
function log(string memory p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
}
function log(string memory p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
}
function log(string memory p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
}
function log(bool p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
}
function log(bool p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
}
function log(bool p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
}
function log(bool p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
}
function log(address p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
}
function log(address p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
}
function log(address p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
}
function log(address p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
}
function log(uint256 p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
}
function log(uint256 p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
}
function log(uint256 p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
}
function log(uint256 p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
}
function log(uint256 p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
}
function log(uint256 p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
}
function log(uint256 p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
}
function log(uint256 p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
}
function log(uint256 p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
}
function log(string memory p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
}
function log(string memory p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
}
function log(string memory p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
}
function log(string memory p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
}
function log(string memory p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
}
function log(string memory p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
}
function log(string memory p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
}
function log(string memory p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
}
function log(string memory p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
}
function log(string memory p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
}
function log(string memory p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
}
function log(string memory p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
}
function log(bool p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
}
function log(bool p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
}
function log(bool p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
}
function log(bool p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
}
function log(bool p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
}
function log(bool p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
}
function log(bool p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
}
function log(bool p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
}
function log(bool p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
}
function log(bool p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
}
function log(bool p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
}
function log(bool p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
}
function log(bool p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
}
function log(bool p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
}
function log(bool p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
}
function log(bool p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
}
function log(address p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
}
function log(address p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
}
function log(address p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
}
function log(address p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
}
function log(address p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
}
function log(address p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
}
function log(address p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
}
function log(address p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
}
function log(address p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
}
function log(address p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
}
function log(address p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
}
function log(address p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
}
function log(address p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
}
function log(address p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
}
function log(address p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
}
function log(address p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
}
}
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.2 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "hardhat/console.sol";
/**
* @title Owner
* @dev Set & change owner
*/
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed oldOwner, address indexed newOwner);
// modifier to check if caller is owner
modifier isOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == owner, "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
console.log("Owner contract deployed by:", msg.sender);
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(address(0), owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public isOwner {
emit OwnerSet(owner, newOwner);
owner = newOwner;
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() external view returns (address) {
return owner;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Ballot
* @dev Implements voting process along with vote delegation
*/
contract Ballot {
struct Voter {
uint weight; // weight is accumulated by delegation
bool voted; // if true, that person already voted
address delegate; // person delegated to
uint vote; // index of the voted proposal
}
struct Proposal {
// If you can limit the length to a certain number of bytes,
// always use one of bytes1 to bytes32 because they are much cheaper
bytes32 name; // short name (up to 32 bytes)
uint voteCount; // number of accumulated votes
}
address public chairperson;
mapping(address => Voter) public voters;
Proposal[] public proposals;
/**
* @dev Create a new ballot to choose one of 'proposalNames'.
* @param proposalNames names of proposals
*/
constructor(bytes32[] memory proposalNames) {
chairperson = msg.sender;
voters[chairperson].weight = 1;
for (uint i = 0; i < proposalNames.length; i++) {
// 'Proposal({...})' creates a temporary
// Proposal object and 'proposals.push(...)'
// appends it to the end of 'proposals'.
proposals.push(Proposal({
name: proposalNames[i],
voteCount: 0
}));
}
}
/**
* @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.
* @param voter address of voter
*/
function giveRightToVote(address voter) public {
require(
msg.sender == chairperson,
"Only chairperson can give right to vote."
);
require(
!voters[voter].voted,
"The voter already voted."
);
require(voters[voter].weight == 0);
voters[voter].weight = 1;
}
/**
* @dev Delegate your vote to the voter 'to'.
* @param to address to which vote is delegated
*/
function delegate(address to) public {
Voter storage sender = voters[msg.sender];
require(!sender.voted, "You already voted.");
require(to != msg.sender, "Self-delegation is disallowed.");
while (voters[to].delegate != address(0)) {
to = voters[to].delegate;
// We found a loop in the delegation, not allowed.
require(to != msg.sender, "Found loop in delegation.");
}
sender.voted = true;
sender.delegate = to;
Voter storage delegate_ = voters[to];
if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
delegate_.weight += sender.weight;
}
}
/**
* @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.
* @param proposal index of proposal in the proposals array
*/
function vote(uint proposal) public {
Voter storage sender = voters[msg.sender];
require(sender.weight != 0, "Has no right to vote");
require(!sender.voted, "Already voted.");
sender.voted = true;
sender.vote = proposal;
// If 'proposal' is out of the range of the array,
// this will throw automatically and revert all
// changes.
proposals[proposal].voteCount += sender.weight;
}
/**
* @dev Computes the winning proposal taking all previous votes into account.
* @return winningProposal_ index of winning proposal in the proposals array
*/
function winningProposal() public view
returns (uint winningProposal_)
{
uint winningVoteCount = 0;
for (uint p = 0; p < proposals.length; p++) {
if (proposals[p].voteCount > winningVoteCount) {
winningVoteCount = proposals[p].voteCount;
winningProposal_ = p;
}
}
}
/**
* @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then
* @return winnerName_ the name of the winner
*/
function winnerName() public view
returns (bytes32 winnerName_)
{
winnerName_ = proposals[winningProposal()].name;
}
}
{
"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": {
"@_103": {
"entryPoint": null,
"id": 103,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052678ac7230489e8000060025534801561001b575f80fd5b506002545f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610cd08061006c5f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa91906109d0565b60405180910390f35b6100cd60048036038101906100c89190610a81565b610236565b6040516100da9190610ad9565b60405180910390f35b6100eb610323565b6040516100f89190610b01565b60405180910390f35b61011b60048036038101906101169190610b1a565b61032c565b6040516101289190610ad9565b60405180910390f35b610139610679565b6040516101469190610b85565b60405180910390f35b61016960048036038101906101649190610b9e565b61067e565b6040516101769190610b01565b60405180910390f35b6101876106c3565b60405161019491906109d0565b60405180910390f35b6101b760048036038101906101b29190610a81565b6106fc565b6040516101c49190610ad9565b60405180910390f35b6101e760048036038101906101e29190610bc9565b6108c4565b6040516101f49190610b01565b60405180910390f35b6040518060400160405280601181526020017f4b69636872756d4552433230426173696300000000000000000000000000000081525081565b5f8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103119190610b01565b60405180910390a36001905092915050565b5f600254905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610375575f80fd5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548211156103f9575f80fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546104419190610c34565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105059190610c34565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105c99190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106669190610b01565b60405180910390a3600190509392505050565b601281565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6040518060400160405280600881526020017f4b4943485445535400000000000000000000000000000000000000000000000081525081565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610745575f80fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461078d9190610c34565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108159190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108b29190610b01565b60405180910390a36001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561097d578082015181840152602081019050610962565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6109a282610946565b6109ac8185610950565b93506109bc818560208601610960565b6109c581610988565b840191505092915050565b5f6020820190508181035f8301526109e88184610998565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a1d826109f4565b9050919050565b610a2d81610a13565b8114610a37575f80fd5b50565b5f81359050610a4881610a24565b92915050565b5f819050919050565b610a6081610a4e565b8114610a6a575f80fd5b50565b5f81359050610a7b81610a57565b92915050565b5f8060408385031215610a9757610a966109f0565b5b5f610aa485828601610a3a565b9250506020610ab585828601610a6d565b9150509250929050565b5f8115159050919050565b610ad381610abf565b82525050565b5f602082019050610aec5f830184610aca565b92915050565b610afb81610a4e565b82525050565b5f602082019050610b145f830184610af2565b92915050565b5f805f60608486031215610b3157610b306109f0565b5b5f610b3e86828701610a3a565b9350506020610b4f86828701610a3a565b9250506040610b6086828701610a6d565b9150509250925092565b5f60ff82169050919050565b610b7f81610b6a565b82525050565b5f602082019050610b985f830184610b76565b92915050565b5f60208284031215610bb357610bb26109f0565b5b5f610bc084828501610a3a565b91505092915050565b5f8060408385031215610bdf57610bde6109f0565b5b5f610bec85828601610a3a565b9250506020610bfd85828601610a3a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c3e82610a4e565b9150610c4983610a4e565b9250828203905081811115610c6157610c60610c07565b5b92915050565b5f610c7182610a4e565b9150610c7c83610a4e565b9250828201905080821115610c9457610c93610c07565b5b9291505056fea2646970667358221220b8473b709c6938fb8e858410aa42578d70b625b84a7ca5ba6a3bd82a9f6218d264736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH8 0x8AC7230489E80000 PUSH1 0x2 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xCD0 DUP1 PUSH2 0x6C 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 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x236 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEB PUSH2 0x323 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0xB01 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 0xB1A JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x128 SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xB85 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 0xB9E JUMP JUMPDEST PUSH2 0x67E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x187 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x6FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0xAD9 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 0xBC9 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B69636872756D45524332304261736963000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x1 PUSH0 CALLER 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 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x311 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 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 DUP3 GT ISZERO PUSH2 0x375 JUMPI PUSH0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x3F9 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x441 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST 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 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 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x505 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH1 0x1 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x666 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST 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 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B49434854455354000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x745 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x78D SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x815 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x8B2 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 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 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 0x97D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x962 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 0x9A2 DUP3 PUSH2 0x946 JUMP JUMPDEST PUSH2 0x9AC DUP2 DUP6 PUSH2 0x950 JUMP JUMPDEST SWAP4 POP PUSH2 0x9BC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x960 JUMP JUMPDEST PUSH2 0x9C5 DUP2 PUSH2 0x988 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 0x9E8 DUP2 DUP5 PUSH2 0x998 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 0xA1D DUP3 PUSH2 0x9F4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA2D DUP2 PUSH2 0xA13 JUMP JUMPDEST DUP2 EQ PUSH2 0xA37 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA48 DUP2 PUSH2 0xA24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA60 DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP2 EQ PUSH2 0xA6A JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA57 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA97 JUMPI PUSH2 0xA96 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAA4 DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAB5 DUP6 DUP3 DUP7 ADD PUSH2 0xA6D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAD3 DUP2 PUSH2 0xABF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAEC PUSH0 DUP4 ADD DUP5 PUSH2 0xACA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAFB DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB14 PUSH0 DUP4 ADD DUP5 PUSH2 0xAF2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xB31 JUMPI PUSH2 0xB30 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB3E DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xB4F DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xB60 DUP7 DUP3 DUP8 ADD PUSH2 0xA6D 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 0xB7F DUP2 PUSH2 0xB6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB98 PUSH0 DUP4 ADD DUP5 PUSH2 0xB76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBB3 JUMPI PUSH2 0xBB2 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBC0 DUP5 DUP3 DUP6 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBDF JUMPI PUSH2 0xBDE PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBEC DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBFD DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC3E DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC49 DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xC61 JUMPI PUSH2 0xC60 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC71 DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC7C DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xC94 JUMPI PUSH2 0xC93 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 SELFBALANCE EXTCODESIZE PUSH17 0x9C6938FB8E858410AA42578D70B625B84A PUSH29 0xA5BA6A3BD82A9F6218D264736F6C634300081500330000000000000000 ",
"sourceMap": "736:1808:0:-:0;;;1048:8;1025:31;;1063:62;;;;;;;;;;1106:12;;1083:8;:20;1092:10;1083:20;;;;;;;;;;;;;;;:35;;;;736:1808;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@allowance_222": {
"entryPoint": 2244,
"id": 222,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_205": {
"entryPoint": 566,
"id": 205,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_125": {
"entryPoint": 1662,
"id": 125,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_79": {
"entryPoint": 1657,
"id": 79,
"parameterSlots": 0,
"returnSlots": 0
},
"@name_73": {
"entryPoint": 509,
"id": 73,
"parameterSlots": 0,
"returnSlots": 0
},
"@symbol_76": {
"entryPoint": 1731,
"id": 76,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_112": {
"entryPoint": 803,
"id": 112,
"parameterSlots": 0,
"returnSlots": 1
},
"@transferFrom_298": {
"entryPoint": 812,
"id": 298,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_176": {
"entryPoint": 1788,
"id": 176,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2618,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2669,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2974,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 3017,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 2842,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2689,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2762,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2456,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2802,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 2934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2777,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2512,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2817,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 2949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2374,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2384,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3175,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3124,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2579,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2751,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2548,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2638,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 2922,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2400,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 3079,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2544,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2440,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 2596,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2647,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:6248:1",
"nodeType": "YulBlock",
"src": "0:6248:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:184:1",
"nodeType": "YulBlock",
"src": "349:184:1",
"statements": [
{
"nativeSrc": "359:10:1",
"nodeType": "YulVariableDeclaration",
"src": "359:10:1",
"value": {
"kind": "number",
"nativeSrc": "368:1:1",
"nodeType": "YulLiteral",
"src": "368:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "363:1:1",
"nodeType": "YulTypedName",
"src": "363:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "428:63:1",
"nodeType": "YulBlock",
"src": "428:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "453:3:1",
"nodeType": "YulIdentifier",
"src": "453:3:1"
},
{
"name": "i",
"nativeSrc": "458:1:1",
"nodeType": "YulIdentifier",
"src": "458:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "449:3:1",
"nodeType": "YulIdentifier",
"src": "449:3:1"
},
"nativeSrc": "449:11:1",
"nodeType": "YulFunctionCall",
"src": "449:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "472:3:1",
"nodeType": "YulIdentifier",
"src": "472:3:1"
},
{
"name": "i",
"nativeSrc": "477:1:1",
"nodeType": "YulIdentifier",
"src": "477:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "468:3:1",
"nodeType": "YulIdentifier",
"src": "468:3:1"
},
"nativeSrc": "468:11:1",
"nodeType": "YulFunctionCall",
"src": "468:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "462:5:1",
"nodeType": "YulIdentifier",
"src": "462:5:1"
},
"nativeSrc": "462:18:1",
"nodeType": "YulFunctionCall",
"src": "462:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "442:6:1",
"nodeType": "YulIdentifier",
"src": "442:6:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulFunctionCall",
"src": "442:39:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulExpressionStatement",
"src": "442:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "389:1:1",
"nodeType": "YulIdentifier",
"src": "389:1:1"
},
{
"name": "length",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "386:2:1",
"nodeType": "YulIdentifier",
"src": "386:2:1"
},
"nativeSrc": "386:13:1",
"nodeType": "YulFunctionCall",
"src": "386:13:1"
},
"nativeSrc": "378:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "400:19:1",
"nodeType": "YulBlock",
"src": "400:19:1",
"statements": [
{
"nativeSrc": "402:15:1",
"nodeType": "YulAssignment",
"src": "402:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "411:1:1",
"nodeType": "YulIdentifier",
"src": "411:1:1"
},
{
"kind": "number",
"nativeSrc": "414:2:1",
"nodeType": "YulLiteral",
"src": "414:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "407:3:1",
"nodeType": "YulIdentifier",
"src": "407:3:1"
},
"nativeSrc": "407:10:1",
"nodeType": "YulFunctionCall",
"src": "407:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "402:1:1",
"nodeType": "YulIdentifier",
"src": "402:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "382:3:1",
"nodeType": "YulBlock",
"src": "382:3:1",
"statements": []
},
"src": "378:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "511:3:1",
"nodeType": "YulIdentifier",
"src": "511:3:1"
},
{
"name": "length",
"nativeSrc": "516:6:1",
"nodeType": "YulIdentifier",
"src": "516:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "507:3:1",
"nodeType": "YulIdentifier",
"src": "507:3:1"
},
"nativeSrc": "507:16:1",
"nodeType": "YulFunctionCall",
"src": "507:16:1"
},
{
"kind": "number",
"nativeSrc": "525:1:1",
"nodeType": "YulLiteral",
"src": "525:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "500:6:1",
"nodeType": "YulIdentifier",
"src": "500:6:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulFunctionCall",
"src": "500:27:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulExpressionStatement",
"src": "500:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:246:1"
},
{
"body": {
"nativeSrc": "587:54:1",
"nodeType": "YulBlock",
"src": "587:54:1",
"statements": [
{
"nativeSrc": "597:38:1",
"nodeType": "YulAssignment",
"src": "597:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "615:5:1",
"nodeType": "YulIdentifier",
"src": "615:5:1"
},
{
"kind": "number",
"nativeSrc": "622:2:1",
"nodeType": "YulLiteral",
"src": "622:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "611:3:1",
"nodeType": "YulIdentifier",
"src": "611:3:1"
},
"nativeSrc": "611:14:1",
"nodeType": "YulFunctionCall",
"src": "611:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "631:2:1",
"nodeType": "YulLiteral",
"src": "631:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "627:3:1",
"nodeType": "YulIdentifier",
"src": "627:3:1"
},
"nativeSrc": "627:7:1",
"nodeType": "YulFunctionCall",
"src": "627:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "607:3:1",
"nodeType": "YulIdentifier",
"src": "607:3:1"
},
"nativeSrc": "607:28:1",
"nodeType": "YulFunctionCall",
"src": "607:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "597:6:1",
"nodeType": "YulIdentifier",
"src": "597:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "539:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "570:5:1",
"nodeType": "YulTypedName",
"src": "570:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "580:6:1",
"nodeType": "YulTypedName",
"src": "580:6:1",
"type": ""
}
],
"src": "539:102:1"
},
{
"body": {
"nativeSrc": "739:285:1",
"nodeType": "YulBlock",
"src": "739:285:1",
"statements": [
{
"nativeSrc": "749:53:1",
"nodeType": "YulVariableDeclaration",
"src": "749:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "796:5:1",
"nodeType": "YulIdentifier",
"src": "796:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "763:32:1",
"nodeType": "YulIdentifier",
"src": "763:32:1"
},
"nativeSrc": "763:39:1",
"nodeType": "YulFunctionCall",
"src": "763:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "753:6:1",
"nodeType": "YulTypedName",
"src": "753:6:1",
"type": ""
}
]
},
{
"nativeSrc": "811:78:1",
"nodeType": "YulAssignment",
"src": "811:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "877:3:1",
"nodeType": "YulIdentifier",
"src": "877:3:1"
},
{
"name": "length",
"nativeSrc": "882:6:1",
"nodeType": "YulIdentifier",
"src": "882:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "818:58:1",
"nodeType": "YulIdentifier",
"src": "818:58:1"
},
"nativeSrc": "818:71:1",
"nodeType": "YulFunctionCall",
"src": "818:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "811:3:1",
"nodeType": "YulIdentifier",
"src": "811:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "937:5:1",
"nodeType": "YulIdentifier",
"src": "937:5:1"
},
{
"kind": "number",
"nativeSrc": "944:4:1",
"nodeType": "YulLiteral",
"src": "944:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "933:3:1",
"nodeType": "YulIdentifier",
"src": "933:3:1"
},
"nativeSrc": "933:16:1",
"nodeType": "YulFunctionCall",
"src": "933:16:1"
},
{
"name": "pos",
"nativeSrc": "951:3:1",
"nodeType": "YulIdentifier",
"src": "951:3:1"
},
{
"name": "length",
"nativeSrc": "956:6:1",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "898:34:1",
"nodeType": "YulIdentifier",
"src": "898:34:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulFunctionCall",
"src": "898:65:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulExpressionStatement",
"src": "898:65:1"
},
{
"nativeSrc": "972:46:1",
"nodeType": "YulAssignment",
"src": "972:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "983:3:1",
"nodeType": "YulIdentifier",
"src": "983:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1010:6:1",
"nodeType": "YulIdentifier",
"src": "1010:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "988:21:1",
"nodeType": "YulIdentifier",
"src": "988:21:1"
},
"nativeSrc": "988:29:1",
"nodeType": "YulFunctionCall",
"src": "988:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "979:3:1",
"nodeType": "YulIdentifier",
"src": "979:3:1"
},
"nativeSrc": "979:39:1",
"nodeType": "YulFunctionCall",
"src": "979:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "972:3:1",
"nodeType": "YulIdentifier",
"src": "972:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "647:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "720:5:1",
"nodeType": "YulTypedName",
"src": "720:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "727:3:1",
"nodeType": "YulTypedName",
"src": "727:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "735:3:1",
"nodeType": "YulTypedName",
"src": "735:3:1",
"type": ""
}
],
"src": "647:377:1"
},
{
"body": {
"nativeSrc": "1148:195:1",
"nodeType": "YulBlock",
"src": "1148:195:1",
"statements": [
{
"nativeSrc": "1158:26:1",
"nodeType": "YulAssignment",
"src": "1158:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1170:9:1",
"nodeType": "YulIdentifier",
"src": "1170:9:1"
},
{
"kind": "number",
"nativeSrc": "1181:2:1",
"nodeType": "YulLiteral",
"src": "1181:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1166:3:1",
"nodeType": "YulIdentifier",
"src": "1166:3:1"
},
"nativeSrc": "1166:18:1",
"nodeType": "YulFunctionCall",
"src": "1166:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1158:4:1",
"nodeType": "YulIdentifier",
"src": "1158:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1205:9:1",
"nodeType": "YulIdentifier",
"src": "1205:9:1"
},
{
"kind": "number",
"nativeSrc": "1216:1:1",
"nodeType": "YulLiteral",
"src": "1216:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1201:3:1",
"nodeType": "YulIdentifier",
"src": "1201:3:1"
},
"nativeSrc": "1201:17:1",
"nodeType": "YulFunctionCall",
"src": "1201:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
},
{
"name": "headStart",
"nativeSrc": "1230:9:1",
"nodeType": "YulIdentifier",
"src": "1230:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1220:3:1",
"nodeType": "YulIdentifier",
"src": "1220:3:1"
},
"nativeSrc": "1220:20:1",
"nodeType": "YulFunctionCall",
"src": "1220:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1194:6:1",
"nodeType": "YulIdentifier",
"src": "1194:6:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulFunctionCall",
"src": "1194:47:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulExpressionStatement",
"src": "1194:47:1"
},
{
"nativeSrc": "1250:86:1",
"nodeType": "YulAssignment",
"src": "1250:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1322:6:1",
"nodeType": "YulIdentifier",
"src": "1322:6:1"
},
{
"name": "tail",
"nativeSrc": "1331:4:1",
"nodeType": "YulIdentifier",
"src": "1331:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1258:63:1",
"nodeType": "YulIdentifier",
"src": "1258:63:1"
},
"nativeSrc": "1258:78:1",
"nodeType": "YulFunctionCall",
"src": "1258:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1250:4:1",
"nodeType": "YulIdentifier",
"src": "1250:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1030:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1120:9:1",
"nodeType": "YulTypedName",
"src": "1120:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1132:6:1",
"nodeType": "YulTypedName",
"src": "1132:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulTypedName",
"src": "1143:4:1",
"type": ""
}
],
"src": "1030:313:1"
},
{
"body": {
"nativeSrc": "1389:35:1",
"nodeType": "YulBlock",
"src": "1389:35:1",
"statements": [
{
"nativeSrc": "1399:19:1",
"nodeType": "YulAssignment",
"src": "1399:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1415:2:1",
"nodeType": "YulLiteral",
"src": "1415:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1409:5:1",
"nodeType": "YulIdentifier",
"src": "1409:5:1"
},
"nativeSrc": "1409:9:1",
"nodeType": "YulFunctionCall",
"src": "1409:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1399:6:1",
"nodeType": "YulIdentifier",
"src": "1399:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1349:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1382:6:1",
"nodeType": "YulTypedName",
"src": "1382:6:1",
"type": ""
}
],
"src": "1349:75:1"
},
{
"body": {
"nativeSrc": "1519:28:1",
"nodeType": "YulBlock",
"src": "1519:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1536:1:1",
"nodeType": "YulLiteral",
"src": "1536:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1539:1:1",
"nodeType": "YulLiteral",
"src": "1539:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1529:6:1",
"nodeType": "YulIdentifier",
"src": "1529:6:1"
},
"nativeSrc": "1529:12:1",
"nodeType": "YulFunctionCall",
"src": "1529:12:1"
},
"nativeSrc": "1529:12:1",
"nodeType": "YulExpressionStatement",
"src": "1529:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1430:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1430:117:1"
},
{
"body": {
"nativeSrc": "1642:28:1",
"nodeType": "YulBlock",
"src": "1642:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1659:1:1",
"nodeType": "YulLiteral",
"src": "1659:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1662:1:1",
"nodeType": "YulLiteral",
"src": "1662:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1652:6:1",
"nodeType": "YulIdentifier",
"src": "1652:6:1"
},
"nativeSrc": "1652:12:1",
"nodeType": "YulFunctionCall",
"src": "1652:12:1"
},
"nativeSrc": "1652:12:1",
"nodeType": "YulExpressionStatement",
"src": "1652:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1553:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1553:117:1"
},
{
"body": {
"nativeSrc": "1721:81:1",
"nodeType": "YulBlock",
"src": "1721:81:1",
"statements": [
{
"nativeSrc": "1731:65:1",
"nodeType": "YulAssignment",
"src": "1731:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1746:5:1",
"nodeType": "YulIdentifier",
"src": "1746:5:1"
},
{
"kind": "number",
"nativeSrc": "1753:42:1",
"nodeType": "YulLiteral",
"src": "1753:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1742:3:1",
"nodeType": "YulIdentifier",
"src": "1742:3:1"
},
"nativeSrc": "1742:54:1",
"nodeType": "YulFunctionCall",
"src": "1742:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1731:7:1",
"nodeType": "YulIdentifier",
"src": "1731:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1676:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1703:5:1",
"nodeType": "YulTypedName",
"src": "1703:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1713:7:1",
"nodeType": "YulTypedName",
"src": "1713:7:1",
"type": ""
}
],
"src": "1676:126:1"
},
{
"body": {
"nativeSrc": "1853:51:1",
"nodeType": "YulBlock",
"src": "1853:51:1",
"statements": [
{
"nativeSrc": "1863:35:1",
"nodeType": "YulAssignment",
"src": "1863:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1892:5:1",
"nodeType": "YulIdentifier",
"src": "1892:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1874:17:1",
"nodeType": "YulIdentifier",
"src": "1874:17:1"
},
"nativeSrc": "1874:24:1",
"nodeType": "YulFunctionCall",
"src": "1874:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1863:7:1",
"nodeType": "YulIdentifier",
"src": "1863:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "1808:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1835:5:1",
"nodeType": "YulTypedName",
"src": "1835:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1845:7:1",
"nodeType": "YulTypedName",
"src": "1845:7:1",
"type": ""
}
],
"src": "1808:96:1"
},
{
"body": {
"nativeSrc": "1953:79:1",
"nodeType": "YulBlock",
"src": "1953:79:1",
"statements": [
{
"body": {
"nativeSrc": "2010:16:1",
"nodeType": "YulBlock",
"src": "2010:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2019:1:1",
"nodeType": "YulLiteral",
"src": "2019:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2022:1:1",
"nodeType": "YulLiteral",
"src": "2022:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2012:6:1",
"nodeType": "YulIdentifier",
"src": "2012:6:1"
},
"nativeSrc": "2012:12:1",
"nodeType": "YulFunctionCall",
"src": "2012:12:1"
},
"nativeSrc": "2012:12:1",
"nodeType": "YulExpressionStatement",
"src": "2012:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1976:5:1",
"nodeType": "YulIdentifier",
"src": "1976:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2001:5:1",
"nodeType": "YulIdentifier",
"src": "2001:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1983:17:1",
"nodeType": "YulIdentifier",
"src": "1983:17:1"
},
"nativeSrc": "1983:24:1",
"nodeType": "YulFunctionCall",
"src": "1983:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1973:2:1",
"nodeType": "YulIdentifier",
"src": "1973:2:1"
},
"nativeSrc": "1973:35:1",
"nodeType": "YulFunctionCall",
"src": "1973:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1966:6:1",
"nodeType": "YulIdentifier",
"src": "1966:6:1"
},
"nativeSrc": "1966:43:1",
"nodeType": "YulFunctionCall",
"src": "1966:43:1"
},
"nativeSrc": "1963:63:1",
"nodeType": "YulIf",
"src": "1963:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "1910:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1946:5:1",
"nodeType": "YulTypedName",
"src": "1946:5:1",
"type": ""
}
],
"src": "1910:122:1"
},
{
"body": {
"nativeSrc": "2090:87:1",
"nodeType": "YulBlock",
"src": "2090:87:1",
"statements": [
{
"nativeSrc": "2100:29:1",
"nodeType": "YulAssignment",
"src": "2100:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2122:6:1",
"nodeType": "YulIdentifier",
"src": "2122:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2109:12:1",
"nodeType": "YulIdentifier",
"src": "2109:12:1"
},
"nativeSrc": "2109:20:1",
"nodeType": "YulFunctionCall",
"src": "2109:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2100:5:1",
"nodeType": "YulIdentifier",
"src": "2100:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2165:5:1",
"nodeType": "YulIdentifier",
"src": "2165:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "2138:26:1",
"nodeType": "YulIdentifier",
"src": "2138:26:1"
},
"nativeSrc": "2138:33:1",
"nodeType": "YulFunctionCall",
"src": "2138:33:1"
},
"nativeSrc": "2138:33:1",
"nodeType": "YulExpressionStatement",
"src": "2138:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "2038:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2068:6:1",
"nodeType": "YulTypedName",
"src": "2068:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2076:3:1",
"nodeType": "YulTypedName",
"src": "2076:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2084:5:1",
"nodeType": "YulTypedName",
"src": "2084:5:1",
"type": ""
}
],
"src": "2038:139:1"
},
{
"body": {
"nativeSrc": "2228:32:1",
"nodeType": "YulBlock",
"src": "2228:32:1",
"statements": [
{
"nativeSrc": "2238:16:1",
"nodeType": "YulAssignment",
"src": "2238:16:1",
"value": {
"name": "value",
"nativeSrc": "2249:5:1",
"nodeType": "YulIdentifier",
"src": "2249:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2238:7:1",
"nodeType": "YulIdentifier",
"src": "2238:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "2183:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2210:5:1",
"nodeType": "YulTypedName",
"src": "2210:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2220:7:1",
"nodeType": "YulTypedName",
"src": "2220:7:1",
"type": ""
}
],
"src": "2183:77:1"
},
{
"body": {
"nativeSrc": "2309:79:1",
"nodeType": "YulBlock",
"src": "2309:79:1",
"statements": [
{
"body": {
"nativeSrc": "2366:16:1",
"nodeType": "YulBlock",
"src": "2366:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2375:1:1",
"nodeType": "YulLiteral",
"src": "2375:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2378:1:1",
"nodeType": "YulLiteral",
"src": "2378:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2368:6:1",
"nodeType": "YulIdentifier",
"src": "2368:6:1"
},
"nativeSrc": "2368:12:1",
"nodeType": "YulFunctionCall",
"src": "2368:12:1"
},
"nativeSrc": "2368:12:1",
"nodeType": "YulExpressionStatement",
"src": "2368:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2332:5:1",
"nodeType": "YulIdentifier",
"src": "2332:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2357:5:1",
"nodeType": "YulIdentifier",
"src": "2357:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2339:17:1",
"nodeType": "YulIdentifier",
"src": "2339:17:1"
},
"nativeSrc": "2339:24:1",
"nodeType": "YulFunctionCall",
"src": "2339:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2329:2:1",
"nodeType": "YulIdentifier",
"src": "2329:2:1"
},
"nativeSrc": "2329:35:1",
"nodeType": "YulFunctionCall",
"src": "2329:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2322:6:1",
"nodeType": "YulIdentifier",
"src": "2322:6:1"
},
"nativeSrc": "2322:43:1",
"nodeType": "YulFunctionCall",
"src": "2322:43:1"
},
"nativeSrc": "2319:63:1",
"nodeType": "YulIf",
"src": "2319:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "2266:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2302:5:1",
"nodeType": "YulTypedName",
"src": "2302:5:1",
"type": ""
}
],
"src": "2266:122:1"
},
{
"body": {
"nativeSrc": "2446:87:1",
"nodeType": "YulBlock",
"src": "2446:87:1",
"statements": [
{
"nativeSrc": "2456:29:1",
"nodeType": "YulAssignment",
"src": "2456:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2478:6:1",
"nodeType": "YulIdentifier",
"src": "2478:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2465:12:1",
"nodeType": "YulIdentifier",
"src": "2465:12:1"
},
"nativeSrc": "2465:20:1",
"nodeType": "YulFunctionCall",
"src": "2465:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2456:5:1",
"nodeType": "YulIdentifier",
"src": "2456:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2521:5:1",
"nodeType": "YulIdentifier",
"src": "2521:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "2494:26:1",
"nodeType": "YulIdentifier",
"src": "2494:26:1"
},
"nativeSrc": "2494:33:1",
"nodeType": "YulFunctionCall",
"src": "2494:33:1"
},
"nativeSrc": "2494:33:1",
"nodeType": "YulExpressionStatement",
"src": "2494:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "2394:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2424:6:1",
"nodeType": "YulTypedName",
"src": "2424:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2432:3:1",
"nodeType": "YulTypedName",
"src": "2432:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2440:5:1",
"nodeType": "YulTypedName",
"src": "2440:5:1",
"type": ""
}
],
"src": "2394:139:1"
},
{
"body": {
"nativeSrc": "2622:391:1",
"nodeType": "YulBlock",
"src": "2622:391:1",
"statements": [
{
"body": {
"nativeSrc": "2668:83:1",
"nodeType": "YulBlock",
"src": "2668:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "2670:77:1",
"nodeType": "YulIdentifier",
"src": "2670:77:1"
},
"nativeSrc": "2670:79:1",
"nodeType": "YulFunctionCall",
"src": "2670:79:1"
},
"nativeSrc": "2670:79:1",
"nodeType": "YulExpressionStatement",
"src": "2670:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "2643:7:1",
"nodeType": "YulIdentifier",
"src": "2643:7:1"
},
{
"name": "headStart",
"nativeSrc": "2652:9:1",
"nodeType": "YulIdentifier",
"src": "2652:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2639:3:1",
"nodeType": "YulIdentifier",
"src": "2639:3:1"
},
"nativeSrc": "2639:23:1",
"nodeType": "YulFunctionCall",
"src": "2639:23:1"
},
{
"kind": "number",
"nativeSrc": "2664:2:1",
"nodeType": "YulLiteral",
"src": "2664:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2635:3:1",
"nodeType": "YulIdentifier",
"src": "2635:3:1"
},
"nativeSrc": "2635:32:1",
"nodeType": "YulFunctionCall",
"src": "2635:32:1"
},
"nativeSrc": "2632:119:1",
"nodeType": "YulIf",
"src": "2632:119:1"
},
{
"nativeSrc": "2761:117:1",
"nodeType": "YulBlock",
"src": "2761:117:1",
"statements": [
{
"nativeSrc": "2776:15:1",
"nodeType": "YulVariableDeclaration",
"src": "2776:15:1",
"value": {
"kind": "number",
"nativeSrc": "2790:1:1",
"nodeType": "YulLiteral",
"src": "2790:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2780:6:1",
"nodeType": "YulTypedName",
"src": "2780:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2805:63:1",
"nodeType": "YulAssignment",
"src": "2805:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2840:9:1",
"nodeType": "YulIdentifier",
"src": "2840:9:1"
},
{
"name": "offset",
"nativeSrc": "2851:6:1",
"nodeType": "YulIdentifier",
"src": "2851:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2836:3:1",
"nodeType": "YulIdentifier",
"src": "2836:3:1"
},
"nativeSrc": "2836:22:1",
"nodeType": "YulFunctionCall",
"src": "2836:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "2860:7:1",
"nodeType": "YulIdentifier",
"src": "2860:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "2815:20:1",
"nodeType": "YulIdentifier",
"src": "2815:20:1"
},
"nativeSrc": "2815:53:1",
"nodeType": "YulFunctionCall",
"src": "2815:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "2805:6:1",
"nodeType": "YulIdentifier",
"src": "2805:6:1"
}
]
}
]
},
{
"nativeSrc": "2888:118:1",
"nodeType": "YulBlock",
"src": "2888:118:1",
"statements": [
{
"nativeSrc": "2903:16:1",
"nodeType": "YulVariableDeclaration",
"src": "2903:16:1",
"value": {
"kind": "number",
"nativeSrc": "2917:2:1",
"nodeType": "YulLiteral",
"src": "2917:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "2907:6:1",
"nodeType": "YulTypedName",
"src": "2907:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2933:63:1",
"nodeType": "YulAssignment",
"src": "2933:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2968:9:1",
"nodeType": "YulIdentifier",
"src": "2968:9:1"
},
{
"name": "offset",
"nativeSrc": "2979:6:1",
"nodeType": "YulIdentifier",
"src": "2979:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2964:3:1",
"nodeType": "YulIdentifier",
"src": "2964:3:1"
},
"nativeSrc": "2964:22:1",
"nodeType": "YulFunctionCall",
"src": "2964:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "2988:7:1",
"nodeType": "YulIdentifier",
"src": "2988:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "2943:20:1",
"nodeType": "YulIdentifier",
"src": "2943:20:1"
},
"nativeSrc": "2943:53:1",
"nodeType": "YulFunctionCall",
"src": "2943:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "2933:6:1",
"nodeType": "YulIdentifier",
"src": "2933:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nativeSrc": "2539:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2584:9:1",
"nodeType": "YulTypedName",
"src": "2584:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "2595:7:1",
"nodeType": "YulTypedName",
"src": "2595:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "2607:6:1",
"nodeType": "YulTypedName",
"src": "2607:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2615:6:1",
"nodeType": "YulTypedName",
"src": "2615:6:1",
"type": ""
}
],
"src": "2539:474:1"
},
{
"body": {
"nativeSrc": "3061:48:1",
"nodeType": "YulBlock",
"src": "3061:48:1",
"statements": [
{
"nativeSrc": "3071:32:1",
"nodeType": "YulAssignment",
"src": "3071:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3096:5:1",
"nodeType": "YulIdentifier",
"src": "3096:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3089:6:1",
"nodeType": "YulIdentifier",
"src": "3089:6:1"
},
"nativeSrc": "3089:13:1",
"nodeType": "YulFunctionCall",
"src": "3089:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3082:6:1",
"nodeType": "YulIdentifier",
"src": "3082:6:1"
},
"nativeSrc": "3082:21:1",
"nodeType": "YulFunctionCall",
"src": "3082:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3071:7:1",
"nodeType": "YulIdentifier",
"src": "3071:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "3019:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3043:5:1",
"nodeType": "YulTypedName",
"src": "3043:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3053:7:1",
"nodeType": "YulTypedName",
"src": "3053:7:1",
"type": ""
}
],
"src": "3019:90:1"
},
{
"body": {
"nativeSrc": "3174:50:1",
"nodeType": "YulBlock",
"src": "3174:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3191:3:1",
"nodeType": "YulIdentifier",
"src": "3191:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3211:5:1",
"nodeType": "YulIdentifier",
"src": "3211:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "3196:14:1",
"nodeType": "YulIdentifier",
"src": "3196:14:1"
},
"nativeSrc": "3196:21:1",
"nodeType": "YulFunctionCall",
"src": "3196:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3184:6:1",
"nodeType": "YulIdentifier",
"src": "3184:6:1"
},
"nativeSrc": "3184:34:1",
"nodeType": "YulFunctionCall",
"src": "3184:34:1"
},
"nativeSrc": "3184:34:1",
"nodeType": "YulExpressionStatement",
"src": "3184:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3115:109:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3162:5:1",
"nodeType": "YulTypedName",
"src": "3162:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3169:3:1",
"nodeType": "YulTypedName",
"src": "3169:3:1",
"type": ""
}
],
"src": "3115:109:1"
},
{
"body": {
"nativeSrc": "3322:118:1",
"nodeType": "YulBlock",
"src": "3322:118:1",
"statements": [
{
"nativeSrc": "3332:26:1",
"nodeType": "YulAssignment",
"src": "3332:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3344:9:1",
"nodeType": "YulIdentifier",
"src": "3344:9:1"
},
{
"kind": "number",
"nativeSrc": "3355:2:1",
"nodeType": "YulLiteral",
"src": "3355:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3340:3:1",
"nodeType": "YulIdentifier",
"src": "3340:3:1"
},
"nativeSrc": "3340:18:1",
"nodeType": "YulFunctionCall",
"src": "3340:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3332:4:1",
"nodeType": "YulIdentifier",
"src": "3332:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3406:6:1",
"nodeType": "YulIdentifier",
"src": "3406:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3419:9:1",
"nodeType": "YulIdentifier",
"src": "3419:9:1"
},
{
"kind": "number",
"nativeSrc": "3430:1:1",
"nodeType": "YulLiteral",
"src": "3430:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3415:3:1",
"nodeType": "YulIdentifier",
"src": "3415:3:1"
},
"nativeSrc": "3415:17:1",
"nodeType": "YulFunctionCall",
"src": "3415:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "3368:37:1",
"nodeType": "YulIdentifier",
"src": "3368:37:1"
},
"nativeSrc": "3368:65:1",
"nodeType": "YulFunctionCall",
"src": "3368:65:1"
},
"nativeSrc": "3368:65:1",
"nodeType": "YulExpressionStatement",
"src": "3368:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "3230:210:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3294:9:1",
"nodeType": "YulTypedName",
"src": "3294:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3306:6:1",
"nodeType": "YulTypedName",
"src": "3306:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3317:4:1",
"nodeType": "YulTypedName",
"src": "3317:4:1",
"type": ""
}
],
"src": "3230:210:1"
},
{
"body": {
"nativeSrc": "3511:53:1",
"nodeType": "YulBlock",
"src": "3511:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3528:3:1",
"nodeType": "YulIdentifier",
"src": "3528:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3551:5:1",
"nodeType": "YulIdentifier",
"src": "3551:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "3533:17:1",
"nodeType": "YulIdentifier",
"src": "3533:17:1"
},
"nativeSrc": "3533:24:1",
"nodeType": "YulFunctionCall",
"src": "3533:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3521:6:1",
"nodeType": "YulIdentifier",
"src": "3521:6:1"
},
"nativeSrc": "3521:37:1",
"nodeType": "YulFunctionCall",
"src": "3521:37:1"
},
"nativeSrc": "3521:37:1",
"nodeType": "YulExpressionStatement",
"src": "3521:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3446:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3499:5:1",
"nodeType": "YulTypedName",
"src": "3499:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3506:3:1",
"nodeType": "YulTypedName",
"src": "3506:3:1",
"type": ""
}
],
"src": "3446:118:1"
},
{
"body": {
"nativeSrc": "3668:124:1",
"nodeType": "YulBlock",
"src": "3668:124:1",
"statements": [
{
"nativeSrc": "3678:26:1",
"nodeType": "YulAssignment",
"src": "3678:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3690:9:1",
"nodeType": "YulIdentifier",
"src": "3690:9:1"
},
{
"kind": "number",
"nativeSrc": "3701:2:1",
"nodeType": "YulLiteral",
"src": "3701:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3686:3:1",
"nodeType": "YulIdentifier",
"src": "3686:3:1"
},
"nativeSrc": "3686:18:1",
"nodeType": "YulFunctionCall",
"src": "3686:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3678:4:1",
"nodeType": "YulIdentifier",
"src": "3678:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3758:6:1",
"nodeType": "YulIdentifier",
"src": "3758:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3771:9:1",
"nodeType": "YulIdentifier",
"src": "3771:9:1"
},
{
"kind": "number",
"nativeSrc": "3782:1:1",
"nodeType": "YulLiteral",
"src": "3782:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3767:3:1",
"nodeType": "YulIdentifier",
"src": "3767:3:1"
},
"nativeSrc": "3767:17:1",
"nodeType": "YulFunctionCall",
"src": "3767:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3714:43:1",
"nodeType": "YulIdentifier",
"src": "3714:43:1"
},
"nativeSrc": "3714:71:1",
"nodeType": "YulFunctionCall",
"src": "3714:71:1"
},
"nativeSrc": "3714:71:1",
"nodeType": "YulExpressionStatement",
"src": "3714:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "3570:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3640:9:1",
"nodeType": "YulTypedName",
"src": "3640:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3652:6:1",
"nodeType": "YulTypedName",
"src": "3652:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3663:4:1",
"nodeType": "YulTypedName",
"src": "3663:4:1",
"type": ""
}
],
"src": "3570:222:1"
},
{
"body": {
"nativeSrc": "3898:519:1",
"nodeType": "YulBlock",
"src": "3898:519:1",
"statements": [
{
"body": {
"nativeSrc": "3944:83:1",
"nodeType": "YulBlock",
"src": "3944:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3946:77:1",
"nodeType": "YulIdentifier",
"src": "3946:77:1"
},
"nativeSrc": "3946:79:1",
"nodeType": "YulFunctionCall",
"src": "3946:79:1"
},
"nativeSrc": "3946:79:1",
"nodeType": "YulExpressionStatement",
"src": "3946:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3919:7:1",
"nodeType": "YulIdentifier",
"src": "3919:7:1"
},
{
"name": "headStart",
"nativeSrc": "3928:9:1",
"nodeType": "YulIdentifier",
"src": "3928:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3915:3:1",
"nodeType": "YulIdentifier",
"src": "3915:3:1"
},
"nativeSrc": "3915:23:1",
"nodeType": "YulFunctionCall",
"src": "3915:23:1"
},
{
"kind": "number",
"nativeSrc": "3940:2:1",
"nodeType": "YulLiteral",
"src": "3940:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3911:3:1",
"nodeType": "YulIdentifier",
"src": "3911:3:1"
},
"nativeSrc": "3911:32:1",
"nodeType": "YulFunctionCall",
"src": "3911:32:1"
},
"nativeSrc": "3908:119:1",
"nodeType": "YulIf",
"src": "3908:119:1"
},
{
"nativeSrc": "4037:117:1",
"nodeType": "YulBlock",
"src": "4037:117:1",
"statements": [
{
"nativeSrc": "4052:15:1",
"nodeType": "YulVariableDeclaration",
"src": "4052:15:1",
"value": {
"kind": "number",
"nativeSrc": "4066:1:1",
"nodeType": "YulLiteral",
"src": "4066:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4056:6:1",
"nodeType": "YulTypedName",
"src": "4056:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4081:63:1",
"nodeType": "YulAssignment",
"src": "4081:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4116:9:1",
"nodeType": "YulIdentifier",
"src": "4116:9:1"
},
{
"name": "offset",
"nativeSrc": "4127:6:1",
"nodeType": "YulIdentifier",
"src": "4127:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4112:3:1",
"nodeType": "YulIdentifier",
"src": "4112:3:1"
},
"nativeSrc": "4112:22:1",
"nodeType": "YulFunctionCall",
"src": "4112:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4136:7:1",
"nodeType": "YulIdentifier",
"src": "4136:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "4091:20:1",
"nodeType": "YulIdentifier",
"src": "4091:20:1"
},
"nativeSrc": "4091:53:1",
"nodeType": "YulFunctionCall",
"src": "4091:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4081:6:1",
"nodeType": "YulIdentifier",
"src": "4081:6:1"
}
]
}
]
},
{
"nativeSrc": "4164:118:1",
"nodeType": "YulBlock",
"src": "4164:118:1",
"statements": [
{
"nativeSrc": "4179:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4179:16:1",
"value": {
"kind": "number",
"nativeSrc": "4193:2:1",
"nodeType": "YulLiteral",
"src": "4193:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4183:6:1",
"nodeType": "YulTypedName",
"src": "4183:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4209:63:1",
"nodeType": "YulAssignment",
"src": "4209:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4244:9:1",
"nodeType": "YulIdentifier",
"src": "4244:9:1"
},
{
"name": "offset",
"nativeSrc": "4255:6:1",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4240:3:1",
"nodeType": "YulIdentifier",
"src": "4240:3:1"
},
"nativeSrc": "4240:22:1",
"nodeType": "YulFunctionCall",
"src": "4240:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4264:7:1",
"nodeType": "YulIdentifier",
"src": "4264:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "4219:20:1",
"nodeType": "YulIdentifier",
"src": "4219:20:1"
},
"nativeSrc": "4219:53:1",
"nodeType": "YulFunctionCall",
"src": "4219:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "4209:6:1",
"nodeType": "YulIdentifier",
"src": "4209:6:1"
}
]
}
]
},
{
"nativeSrc": "4292:118:1",
"nodeType": "YulBlock",
"src": "4292:118:1",
"statements": [
{
"nativeSrc": "4307:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4307:16:1",
"value": {
"kind": "number",
"nativeSrc": "4321:2:1",
"nodeType": "YulLiteral",
"src": "4321:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4311:6:1",
"nodeType": "YulTypedName",
"src": "4311:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4337:63:1",
"nodeType": "YulAssignment",
"src": "4337:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4372:9:1",
"nodeType": "YulIdentifier",
"src": "4372:9:1"
},
{
"name": "offset",
"nativeSrc": "4383:6:1",
"nodeType": "YulIdentifier",
"src": "4383:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4368:3:1",
"nodeType": "YulIdentifier",
"src": "4368:3:1"
},
"nativeSrc": "4368:22:1",
"nodeType": "YulFunctionCall",
"src": "4368:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4392:7:1",
"nodeType": "YulIdentifier",
"src": "4392:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "4347:20:1",
"nodeType": "YulIdentifier",
"src": "4347:20:1"
},
"nativeSrc": "4347:53:1",
"nodeType": "YulFunctionCall",
"src": "4347:53:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "4337:6:1",
"nodeType": "YulIdentifier",
"src": "4337:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nativeSrc": "3798:619:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3852:9:1",
"nodeType": "YulTypedName",
"src": "3852:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3863:7:1",
"nodeType": "YulTypedName",
"src": "3863:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3875:6:1",
"nodeType": "YulTypedName",
"src": "3875:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3883:6:1",
"nodeType": "YulTypedName",
"src": "3883:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3891:6:1",
"nodeType": "YulTypedName",
"src": "3891:6:1",
"type": ""
}
],
"src": "3798:619:1"
},
{
"body": {
"nativeSrc": "4466:43:1",
"nodeType": "YulBlock",
"src": "4466:43:1",
"statements": [
{
"nativeSrc": "4476:27:1",
"nodeType": "YulAssignment",
"src": "4476:27:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4491:5:1",
"nodeType": "YulIdentifier",
"src": "4491:5:1"
},
{
"kind": "number",
"nativeSrc": "4498:4:1",
"nodeType": "YulLiteral",
"src": "4498:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4487:3:1",
"nodeType": "YulIdentifier",
"src": "4487:3:1"
},
"nativeSrc": "4487:16:1",
"nodeType": "YulFunctionCall",
"src": "4487:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "4476:7:1",
"nodeType": "YulIdentifier",
"src": "4476:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "4423:86:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4448:5:1",
"nodeType": "YulTypedName",
"src": "4448:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "4458:7:1",
"nodeType": "YulTypedName",
"src": "4458:7:1",
"type": ""
}
],
"src": "4423:86:1"
},
{
"body": {
"nativeSrc": "4576:51:1",
"nodeType": "YulBlock",
"src": "4576:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4593:3:1",
"nodeType": "YulIdentifier",
"src": "4593:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4614:5:1",
"nodeType": "YulIdentifier",
"src": "4614:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "4598:15:1",
"nodeType": "YulIdentifier",
"src": "4598:15:1"
},
"nativeSrc": "4598:22:1",
"nodeType": "YulFunctionCall",
"src": "4598:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4586:6:1",
"nodeType": "YulIdentifier",
"src": "4586:6:1"
},
"nativeSrc": "4586:35:1",
"nodeType": "YulFunctionCall",
"src": "4586:35:1"
},
"nativeSrc": "4586:35:1",
"nodeType": "YulExpressionStatement",
"src": "4586:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4515:112:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4564:5:1",
"nodeType": "YulTypedName",
"src": "4564:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4571:3:1",
"nodeType": "YulTypedName",
"src": "4571:3:1",
"type": ""
}
],
"src": "4515:112:1"
},
{
"body": {
"nativeSrc": "4727:120:1",
"nodeType": "YulBlock",
"src": "4727:120:1",
"statements": [
{
"nativeSrc": "4737:26:1",
"nodeType": "YulAssignment",
"src": "4737:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4749:9:1",
"nodeType": "YulIdentifier",
"src": "4749:9:1"
},
{
"kind": "number",
"nativeSrc": "4760:2:1",
"nodeType": "YulLiteral",
"src": "4760:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4745:3:1",
"nodeType": "YulIdentifier",
"src": "4745:3:1"
},
"nativeSrc": "4745:18:1",
"nodeType": "YulFunctionCall",
"src": "4745:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4737:4:1",
"nodeType": "YulIdentifier",
"src": "4737:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4813:6:1",
"nodeType": "YulIdentifier",
"src": "4813:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4826:9:1",
"nodeType": "YulIdentifier",
"src": "4826:9:1"
},
{
"kind": "number",
"nativeSrc": "4837:1:1",
"nodeType": "YulLiteral",
"src": "4837:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4822:3:1",
"nodeType": "YulIdentifier",
"src": "4822:3:1"
},
"nativeSrc": "4822:17:1",
"nodeType": "YulFunctionCall",
"src": "4822:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "4773:39:1",
"nodeType": "YulIdentifier",
"src": "4773:39:1"
},
"nativeSrc": "4773:67:1",
"nodeType": "YulFunctionCall",
"src": "4773:67:1"
},
"nativeSrc": "4773:67:1",
"nodeType": "YulExpressionStatement",
"src": "4773:67:1"
}
]
},
"name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
"nativeSrc": "4633:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4699:9:1",
"nodeType": "YulTypedName",
"src": "4699:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4711:6:1",
"nodeType": "YulTypedName",
"src": "4711:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4722:4:1",
"nodeType": "YulTypedName",
"src": "4722:4:1",
"type": ""
}
],
"src": "4633:214:1"
},
{
"body": {
"nativeSrc": "4919:263:1",
"nodeType": "YulBlock",
"src": "4919:263:1",
"statements": [
{
"body": {
"nativeSrc": "4965:83:1",
"nodeType": "YulBlock",
"src": "4965:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4967:77:1",
"nodeType": "YulIdentifier",
"src": "4967:77:1"
},
"nativeSrc": "4967:79:1",
"nodeType": "YulFunctionCall",
"src": "4967:79:1"
},
"nativeSrc": "4967:79:1",
"nodeType": "YulExpressionStatement",
"src": "4967:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4940:7:1",
"nodeType": "YulIdentifier",
"src": "4940:7:1"
},
{
"name": "headStart",
"nativeSrc": "4949:9:1",
"nodeType": "YulIdentifier",
"src": "4949:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4936:3:1",
"nodeType": "YulIdentifier",
"src": "4936:3:1"
},
"nativeSrc": "4936:23:1",
"nodeType": "YulFunctionCall",
"src": "4936:23:1"
},
{
"kind": "number",
"nativeSrc": "4961:2:1",
"nodeType": "YulLiteral",
"src": "4961:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4932:3:1",
"nodeType": "YulIdentifier",
"src": "4932:3:1"
},
"nativeSrc": "4932:32:1",
"nodeType": "YulFunctionCall",
"src": "4932:32:1"
},
"nativeSrc": "4929:119:1",
"nodeType": "YulIf",
"src": "4929:119:1"
},
{
"nativeSrc": "5058:117:1",
"nodeType": "YulBlock",
"src": "5058:117:1",
"statements": [
{
"nativeSrc": "5073:15:1",
"nodeType": "YulVariableDeclaration",
"src": "5073:15:1",
"value": {
"kind": "number",
"nativeSrc": "5087:1:1",
"nodeType": "YulLiteral",
"src": "5087:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5077:6:1",
"nodeType": "YulTypedName",
"src": "5077:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5102:63:1",
"nodeType": "YulAssignment",
"src": "5102:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5137:9:1",
"nodeType": "YulIdentifier",
"src": "5137:9:1"
},
{
"name": "offset",
"nativeSrc": "5148:6:1",
"nodeType": "YulIdentifier",
"src": "5148:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5133:3:1",
"nodeType": "YulIdentifier",
"src": "5133:3:1"
},
"nativeSrc": "5133:22:1",
"nodeType": "YulFunctionCall",
"src": "5133:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5157:7:1",
"nodeType": "YulIdentifier",
"src": "5157:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5112:20:1",
"nodeType": "YulIdentifier",
"src": "5112:20:1"
},
"nativeSrc": "5112:53:1",
"nodeType": "YulFunctionCall",
"src": "5112:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5102:6:1",
"nodeType": "YulIdentifier",
"src": "5102:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "4853:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4889:9:1",
"nodeType": "YulTypedName",
"src": "4889:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4900:7:1",
"nodeType": "YulTypedName",
"src": "4900:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4912:6:1",
"nodeType": "YulTypedName",
"src": "4912:6:1",
"type": ""
}
],
"src": "4853:329:1"
},
{
"body": {
"nativeSrc": "5271:391:1",
"nodeType": "YulBlock",
"src": "5271:391:1",
"statements": [
{
"body": {
"nativeSrc": "5317:83:1",
"nodeType": "YulBlock",
"src": "5317:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5319:77:1",
"nodeType": "YulIdentifier",
"src": "5319:77:1"
},
"nativeSrc": "5319:79:1",
"nodeType": "YulFunctionCall",
"src": "5319:79:1"
},
"nativeSrc": "5319:79:1",
"nodeType": "YulExpressionStatement",
"src": "5319:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5292:7:1",
"nodeType": "YulIdentifier",
"src": "5292:7:1"
},
{
"name": "headStart",
"nativeSrc": "5301:9:1",
"nodeType": "YulIdentifier",
"src": "5301:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5288:3:1",
"nodeType": "YulIdentifier",
"src": "5288:3:1"
},
"nativeSrc": "5288:23:1",
"nodeType": "YulFunctionCall",
"src": "5288:23:1"
},
{
"kind": "number",
"nativeSrc": "5313:2:1",
"nodeType": "YulLiteral",
"src": "5313:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5284:3:1",
"nodeType": "YulIdentifier",
"src": "5284:3:1"
},
"nativeSrc": "5284:32:1",
"nodeType": "YulFunctionCall",
"src": "5284:32:1"
},
"nativeSrc": "5281:119:1",
"nodeType": "YulIf",
"src": "5281:119:1"
},
{
"nativeSrc": "5410:117:1",
"nodeType": "YulBlock",
"src": "5410:117:1",
"statements": [
{
"nativeSrc": "5425:15:1",
"nodeType": "YulVariableDeclaration",
"src": "5425:15:1",
"value": {
"kind": "number",
"nativeSrc": "5439:1:1",
"nodeType": "YulLiteral",
"src": "5439:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5429:6:1",
"nodeType": "YulTypedName",
"src": "5429:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5454:63:1",
"nodeType": "YulAssignment",
"src": "5454:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5489:9:1",
"nodeType": "YulIdentifier",
"src": "5489:9:1"
},
{
"name": "offset",
"nativeSrc": "5500:6:1",
"nodeType": "YulIdentifier",
"src": "5500:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5485:3:1",
"nodeType": "YulIdentifier",
"src": "5485:3:1"
},
"nativeSrc": "5485:22:1",
"nodeType": "YulFunctionCall",
"src": "5485:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5509:7:1",
"nodeType": "YulIdentifier",
"src": "5509:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5464:20:1",
"nodeType": "YulIdentifier",
"src": "5464:20:1"
},
"nativeSrc": "5464:53:1",
"nodeType": "YulFunctionCall",
"src": "5464:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5454:6:1",
"nodeType": "YulIdentifier",
"src": "5454:6:1"
}
]
}
]
},
{
"nativeSrc": "5537:118:1",
"nodeType": "YulBlock",
"src": "5537:118:1",
"statements": [
{
"nativeSrc": "5552:16:1",
"nodeType": "YulVariableDeclaration",
"src": "5552:16:1",
"value": {
"kind": "number",
"nativeSrc": "5566:2:1",
"nodeType": "YulLiteral",
"src": "5566:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5556:6:1",
"nodeType": "YulTypedName",
"src": "5556:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5582:63:1",
"nodeType": "YulAssignment",
"src": "5582:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5617:9:1",
"nodeType": "YulIdentifier",
"src": "5617:9:1"
},
{
"name": "offset",
"nativeSrc": "5628:6:1",
"nodeType": "YulIdentifier",
"src": "5628:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5613:3:1",
"nodeType": "YulIdentifier",
"src": "5613:3:1"
},
"nativeSrc": "5613:22:1",
"nodeType": "YulFunctionCall",
"src": "5613:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5637:7:1",
"nodeType": "YulIdentifier",
"src": "5637:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5592:20:1",
"nodeType": "YulIdentifier",
"src": "5592:20:1"
},
"nativeSrc": "5592:53:1",
"nodeType": "YulFunctionCall",
"src": "5592:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "5582:6:1",
"nodeType": "YulIdentifier",
"src": "5582:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nativeSrc": "5188:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5233:9:1",
"nodeType": "YulTypedName",
"src": "5233:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5244:7:1",
"nodeType": "YulTypedName",
"src": "5244:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5256:6:1",
"nodeType": "YulTypedName",
"src": "5256:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5264:6:1",
"nodeType": "YulTypedName",
"src": "5264:6:1",
"type": ""
}
],
"src": "5188:474:1"
},
{
"body": {
"nativeSrc": "5696:152:1",
"nodeType": "YulBlock",
"src": "5696:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5713:1:1",
"nodeType": "YulLiteral",
"src": "5713:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5716:77:1",
"nodeType": "YulLiteral",
"src": "5716:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5706:6:1",
"nodeType": "YulIdentifier",
"src": "5706:6:1"
},
"nativeSrc": "5706:88:1",
"nodeType": "YulFunctionCall",
"src": "5706:88:1"
},
"nativeSrc": "5706:88:1",
"nodeType": "YulExpressionStatement",
"src": "5706:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5810:1:1",
"nodeType": "YulLiteral",
"src": "5810:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "5813:4:1",
"nodeType": "YulLiteral",
"src": "5813:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5803:6:1",
"nodeType": "YulIdentifier",
"src": "5803:6:1"
},
"nativeSrc": "5803:15:1",
"nodeType": "YulFunctionCall",
"src": "5803:15:1"
},
"nativeSrc": "5803:15:1",
"nodeType": "YulExpressionStatement",
"src": "5803:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5834:1:1",
"nodeType": "YulLiteral",
"src": "5834:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5837:4:1",
"nodeType": "YulLiteral",
"src": "5837:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5827:6:1",
"nodeType": "YulIdentifier",
"src": "5827:6:1"
},
"nativeSrc": "5827:15:1",
"nodeType": "YulFunctionCall",
"src": "5827:15:1"
},
"nativeSrc": "5827:15:1",
"nodeType": "YulExpressionStatement",
"src": "5827:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "5668:180:1",
"nodeType": "YulFunctionDefinition",
"src": "5668:180:1"
},
{
"body": {
"nativeSrc": "5899:149:1",
"nodeType": "YulBlock",
"src": "5899:149:1",
"statements": [
{
"nativeSrc": "5909:25:1",
"nodeType": "YulAssignment",
"src": "5909:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "5932:1:1",
"nodeType": "YulIdentifier",
"src": "5932:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5914:17:1",
"nodeType": "YulIdentifier",
"src": "5914:17:1"
},
"nativeSrc": "5914:20:1",
"nodeType": "YulFunctionCall",
"src": "5914:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "5909:1:1",
"nodeType": "YulIdentifier",
"src": "5909:1:1"
}
]
},
{
"nativeSrc": "5943:25:1",
"nodeType": "YulAssignment",
"src": "5943:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "5966:1:1",
"nodeType": "YulIdentifier",
"src": "5966:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5948:17:1",
"nodeType": "YulIdentifier",
"src": "5948:17:1"
},
"nativeSrc": "5948:20:1",
"nodeType": "YulFunctionCall",
"src": "5948:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "5943:1:1",
"nodeType": "YulIdentifier",
"src": "5943:1:1"
}
]
},
{
"nativeSrc": "5977:17:1",
"nodeType": "YulAssignment",
"src": "5977:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "5989:1:1",
"nodeType": "YulIdentifier",
"src": "5989:1:1"
},
{
"name": "y",
"nativeSrc": "5992:1:1",
"nodeType": "YulIdentifier",
"src": "5992:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5985:3:1",
"nodeType": "YulIdentifier",
"src": "5985:3:1"
},
"nativeSrc": "5985:9:1",
"nodeType": "YulFunctionCall",
"src": "5985:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "5977:4:1",
"nodeType": "YulIdentifier",
"src": "5977:4:1"
}
]
},
{
"body": {
"nativeSrc": "6019:22:1",
"nodeType": "YulBlock",
"src": "6019:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "6021:16:1",
"nodeType": "YulIdentifier",
"src": "6021:16:1"
},
"nativeSrc": "6021:18:1",
"nodeType": "YulFunctionCall",
"src": "6021:18:1"
},
"nativeSrc": "6021:18:1",
"nodeType": "YulExpressionStatement",
"src": "6021:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "6010:4:1",
"nodeType": "YulIdentifier",
"src": "6010:4:1"
},
{
"name": "x",
"nativeSrc": "6016:1:1",
"nodeType": "YulIdentifier",
"src": "6016:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6007:2:1",
"nodeType": "YulIdentifier",
"src": "6007:2:1"
},
"nativeSrc": "6007:11:1",
"nodeType": "YulFunctionCall",
"src": "6007:11:1"
},
"nativeSrc": "6004:37:1",
"nodeType": "YulIf",
"src": "6004:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "5854:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "5885:1:1",
"nodeType": "YulTypedName",
"src": "5885:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "5888:1:1",
"nodeType": "YulTypedName",
"src": "5888:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "5894:4:1",
"nodeType": "YulTypedName",
"src": "5894:4:1",
"type": ""
}
],
"src": "5854:194:1"
},
{
"body": {
"nativeSrc": "6098:147:1",
"nodeType": "YulBlock",
"src": "6098:147:1",
"statements": [
{
"nativeSrc": "6108:25:1",
"nodeType": "YulAssignment",
"src": "6108:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "6131:1:1",
"nodeType": "YulIdentifier",
"src": "6131:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "6113:17:1",
"nodeType": "YulIdentifier",
"src": "6113:17:1"
},
"nativeSrc": "6113:20:1",
"nodeType": "YulFunctionCall",
"src": "6113:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "6108:1:1",
"nodeType": "YulIdentifier",
"src": "6108:1:1"
}
]
},
{
"nativeSrc": "6142:25:1",
"nodeType": "YulAssignment",
"src": "6142:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "6165:1:1",
"nodeType": "YulIdentifier",
"src": "6165:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "6147:17:1",
"nodeType": "YulIdentifier",
"src": "6147:17:1"
},
"nativeSrc": "6147:20:1",
"nodeType": "YulFunctionCall",
"src": "6147:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "6142:1:1",
"nodeType": "YulIdentifier",
"src": "6142:1:1"
}
]
},
{
"nativeSrc": "6176:16:1",
"nodeType": "YulAssignment",
"src": "6176:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "6187:1:1",
"nodeType": "YulIdentifier",
"src": "6187:1:1"
},
{
"name": "y",
"nativeSrc": "6190:1:1",
"nodeType": "YulIdentifier",
"src": "6190:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6183:3:1",
"nodeType": "YulIdentifier",
"src": "6183:3:1"
},
"nativeSrc": "6183:9:1",
"nodeType": "YulFunctionCall",
"src": "6183:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "6176:3:1",
"nodeType": "YulIdentifier",
"src": "6176:3:1"
}
]
},
{
"body": {
"nativeSrc": "6216:22:1",
"nodeType": "YulBlock",
"src": "6216:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "6218:16:1",
"nodeType": "YulIdentifier",
"src": "6218:16:1"
},
"nativeSrc": "6218:18:1",
"nodeType": "YulFunctionCall",
"src": "6218:18:1"
},
"nativeSrc": "6218:18:1",
"nodeType": "YulExpressionStatement",
"src": "6218:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "6208:1:1",
"nodeType": "YulIdentifier",
"src": "6208:1:1"
},
{
"name": "sum",
"nativeSrc": "6211:3:1",
"nodeType": "YulIdentifier",
"src": "6211:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6205:2:1",
"nodeType": "YulIdentifier",
"src": "6205:2:1"
},
"nativeSrc": "6205:10:1",
"nodeType": "YulFunctionCall",
"src": "6205:10:1"
},
"nativeSrc": "6202:36:1",
"nodeType": "YulIf",
"src": "6202:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "6054:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "6085:1:1",
"nodeType": "YulTypedName",
"src": "6085:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "6088:1:1",
"nodeType": "YulTypedName",
"src": "6088:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "6094:3:1",
"nodeType": "YulTypedName",
"src": "6094:3:1",
"type": ""
}
],
"src": "6054:191:1"
}
]
},
"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_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa91906109d0565b60405180910390f35b6100cd60048036038101906100c89190610a81565b610236565b6040516100da9190610ad9565b60405180910390f35b6100eb610323565b6040516100f89190610b01565b60405180910390f35b61011b60048036038101906101169190610b1a565b61032c565b6040516101289190610ad9565b60405180910390f35b610139610679565b6040516101469190610b85565b60405180910390f35b61016960048036038101906101649190610b9e565b61067e565b6040516101769190610b01565b60405180910390f35b6101876106c3565b60405161019491906109d0565b60405180910390f35b6101b760048036038101906101b29190610a81565b6106fc565b6040516101c49190610ad9565b60405180910390f35b6101e760048036038101906101e29190610bc9565b6108c4565b6040516101f49190610b01565b60405180910390f35b6040518060400160405280601181526020017f4b69636872756d4552433230426173696300000000000000000000000000000081525081565b5f8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103119190610b01565b60405180910390a36001905092915050565b5f600254905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610375575f80fd5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548211156103f9575f80fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546104419190610c34565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105059190610c34565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105c99190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106669190610b01565b60405180910390a3600190509392505050565b601281565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6040518060400160405280600881526020017f4b4943485445535400000000000000000000000000000000000000000000000081525081565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610745575f80fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461078d9190610c34565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108159190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108b29190610b01565b60405180910390a36001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561097d578082015181840152602081019050610962565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6109a282610946565b6109ac8185610950565b93506109bc818560208601610960565b6109c581610988565b840191505092915050565b5f6020820190508181035f8301526109e88184610998565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a1d826109f4565b9050919050565b610a2d81610a13565b8114610a37575f80fd5b50565b5f81359050610a4881610a24565b92915050565b5f819050919050565b610a6081610a4e565b8114610a6a575f80fd5b50565b5f81359050610a7b81610a57565b92915050565b5f8060408385031215610a9757610a966109f0565b5b5f610aa485828601610a3a565b9250506020610ab585828601610a6d565b9150509250929050565b5f8115159050919050565b610ad381610abf565b82525050565b5f602082019050610aec5f830184610aca565b92915050565b610afb81610a4e565b82525050565b5f602082019050610b145f830184610af2565b92915050565b5f805f60608486031215610b3157610b306109f0565b5b5f610b3e86828701610a3a565b9350506020610b4f86828701610a3a565b9250506040610b6086828701610a6d565b9150509250925092565b5f60ff82169050919050565b610b7f81610b6a565b82525050565b5f602082019050610b985f830184610b76565b92915050565b5f60208284031215610bb357610bb26109f0565b5b5f610bc084828501610a3a565b91505092915050565b5f8060408385031215610bdf57610bde6109f0565b5b5f610bec85828601610a3a565b9250506020610bfd85828601610a3a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c3e82610a4e565b9150610c4983610a4e565b9250828203905081811115610c6157610c60610c07565b5b92915050565b5f610c7182610a4e565b9150610c7c83610a4e565b9250828201905080821115610c9457610c93610c07565b5b9291505056fea2646970667358221220b8473b709c6938fb8e858410aa42578d70b625b84a7ca5ba6a3bd82a9f6218d264736f6c63430008150033",
"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 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x236 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEB PUSH2 0x323 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0xB01 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 0xB1A JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x128 SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xB85 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 0xB9E JUMP JUMPDEST PUSH2 0x67E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x187 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x6FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0xAD9 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 0xBC9 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B69636872756D45524332304261736963000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x1 PUSH0 CALLER 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 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x311 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 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 DUP3 GT ISZERO PUSH2 0x375 JUMPI PUSH0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x3F9 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x441 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST 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 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 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x505 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH1 0x1 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x666 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST 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 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B49434854455354000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x745 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x78D SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x815 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x8B2 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 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 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 0x97D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x962 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 0x9A2 DUP3 PUSH2 0x946 JUMP JUMPDEST PUSH2 0x9AC DUP2 DUP6 PUSH2 0x950 JUMP JUMPDEST SWAP4 POP PUSH2 0x9BC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x960 JUMP JUMPDEST PUSH2 0x9C5 DUP2 PUSH2 0x988 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 0x9E8 DUP2 DUP5 PUSH2 0x998 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 0xA1D DUP3 PUSH2 0x9F4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA2D DUP2 PUSH2 0xA13 JUMP JUMPDEST DUP2 EQ PUSH2 0xA37 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA48 DUP2 PUSH2 0xA24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA60 DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP2 EQ PUSH2 0xA6A JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA57 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA97 JUMPI PUSH2 0xA96 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAA4 DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAB5 DUP6 DUP3 DUP7 ADD PUSH2 0xA6D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAD3 DUP2 PUSH2 0xABF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAEC PUSH0 DUP4 ADD DUP5 PUSH2 0xACA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAFB DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB14 PUSH0 DUP4 ADD DUP5 PUSH2 0xAF2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xB31 JUMPI PUSH2 0xB30 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB3E DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xB4F DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xB60 DUP7 DUP3 DUP8 ADD PUSH2 0xA6D 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 0xB7F DUP2 PUSH2 0xB6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB98 PUSH0 DUP4 ADD DUP5 PUSH2 0xB76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBB3 JUMPI PUSH2 0xBB2 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBC0 DUP5 DUP3 DUP6 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBDF JUMPI PUSH2 0xBDE PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBEC DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBFD DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC3E DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC49 DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xC61 JUMPI PUSH2 0xC60 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC71 DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC7C DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xC94 JUMPI PUSH2 0xC93 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 SELFBALANCE EXTCODESIZE PUSH17 0x9C6938FB8E858410AA42578D70B625B84A PUSH29 0xA5BA6A3BD82A9F6218D264736F6C634300081500330000000000000000 ",
"sourceMap": "736:1808:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;773:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1709:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1131:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2077:465;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;876:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1231:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;828:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1359:344;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1935:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;773:49;;;;;;;;;;;;;;;;;;;:::o;1709:220::-;1788:4;1836:9;1804:7;:19;1812:10;1804:19;;;;;;;;;;;;;;;:29;1824:8;1804:29;;;;;;;;;;;;;;;:41;;;;1881:8;1860:41;;1869:10;1860:41;;;1891:9;1860:41;;;;;;:::i;:::-;;;;;;;;1918:4;1911:11;;1709:220;;;;:::o;1131:94::-;1184:7;1206:12;;1199:19;;1131:94;:::o;2077:465::-;2173:4;2210:8;:15;2219:5;2210:15;;;;;;;;;;;;;;;;2197:9;:28;;2189:37;;;;;;2257:7;:14;2265:5;2257:14;;;;;;;;;;;;;;;:26;2272:10;2257:26;;;;;;;;;;;;;;;;2244:9;:39;;2236:48;;;;;;2329:9;2313:8;:15;2322:5;2313:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;2295:8;:15;2304:5;2295:15;;;;;;;;;;;;;;;:43;;;;2404:9;2377:7;:14;2385:5;2377:14;;;;;;;;;;;;;;;:26;2392:10;2377:26;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;2348:7;:14;2356:5;2348:14;;;;;;;;;;;;;;;:26;2363:10;2348:26;;;;;;;;;;;;;;;:65;;;;2457:9;2441:8;:15;2450:5;2441:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;2423:8;:15;2432:5;2423:15;;;;;;;;;;;;;;;:43;;;;2497:5;2481:33;;2490:5;2481:33;;;2504:9;2481:33;;;;;;:::i;:::-;;;;;;;;2531:4;2524:11;;2077:465;;;;;:::o;876:35::-;909:2;876:35;:::o;1231:122::-;1300:7;1326:8;:20;1335:10;1326:20;;;;;;;;;;;;;;;;1319:27;;1231:122;;;:::o;828:42::-;;;;;;;;;;;;;;;;;;;:::o;1359:344::-;1439:4;1476:8;:20;1485:10;1476:20;;;;;;;;;;;;;;;;1463:9;:33;;1455:42;;;;;;1551:9;1530:8;:20;1539:10;1530:20;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;1507:8;:20;1516:10;1507:20;;;;;;;;;;;;;;;:53;;;;1610:9;1591:8;:18;1600:8;1591:18;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;1570:8;:18;1579:8;1570:18;;;;;;;;;;;;;;;:49;;;;1655:8;1634:41;;1643:10;1634:41;;;1665:9;1634:41;;;;;;:::i;:::-;;;;;;;;1692:4;1685:11;;1359:344;;;;:::o;1935:136::-;2017:4;2040:7;:14;2048:5;2040:14;;;;;;;;;;;;;;;:24;2055:8;2040:24;;;;;;;;;;;;;;;;2033:31;;1935:136;;;;:::o;7:99:1:-;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:194;5894:4;5914:20;5932:1;5914:20;:::i;:::-;5909:25;;5948:20;5966:1;5948:20;:::i;:::-;5943:25;;5992:1;5989;5985:9;5977:17;;6016:1;6010:4;6007:11;6004:37;;;6021:18;;:::i;:::-;6004:37;5854:194;;;;:::o;6054:191::-;6094:3;6113:20;6131:1;6113:20;:::i;:::-;6108:25;;6147:20;6165:1;6147:20;:::i;:::-;6142:25;;6190:1;6187;6183:9;6176:16;;6211:3;6208:1;6205:10;6202:36;;;6218:18;;:::i;:::-;6202:36;6054:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "656000",
"executionCost": "47094",
"totalCost": "703094"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2851",
"decimals()": "331",
"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"
},
{
"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": "delegate",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"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": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"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": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/ERC-20.sol": "ERC20Basic"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/ERC-20.sol": {
"keccak256": "0xdaeae3400e109b58f0410bfb010febbd8e1cca2a09d4da768f5c0d5db8eb512f",
"license": "UNLICENSED",
"urls": [
"bzz-raw://e87fce2d4e66b051fb3cfacae3ad6441b18831d19c20e359b208d0dfad59b1ae",
"dweb:/ipfs/QmaPS2TUeKLKHEuZqYAGCw2cjYXd1GgAurkCipsMpaQTpt"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/ERC-20.sol": "IERC20"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/ERC-20.sol": {
"keccak256": "0xdaeae3400e109b58f0410bfb010febbd8e1cca2a09d4da768f5c0d5db8eb512f",
"license": "UNLICENSED",
"urls": [
"bzz-raw://e87fce2d4e66b051fb3cfacae3ad6441b18831d19c20e359b208d0dfad59b1ae",
"dweb:/ipfs/QmaPS2TUeKLKHEuZqYAGCw2cjYXd1GgAurkCipsMpaQTpt"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b50610daa8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c80636b8ff5741161008a57806385014c9e1161006457806385014c9e146101f9578063cd838f0f14610229578063ef9fc50b14610247578063f2c9ecd814610263576100cd565b80636b8ff574146101915780637ba1eab3146101c15780638151b2f5146101dd576100cd565b806307391dd6146100d157806311456b47146100ed57806314b3ee68146101095780631603954014610139578063273ea3e31461016957806335f6690814610173575b5f80fd5b6100eb60048036038101906100e69190610562565b610281565b005b610107600480360381019061010291906106c9565b61028a565b005b610123600480360381019061011e91906106c9565b6102bf565b604051610130919061071f565b60405180910390f35b610153600480360381019061014e9190610562565b6102e6565b604051610160919061071f565b60405180910390f35b6101716102fb565b005b61017b610307565b604051610188919061071f565b60405180910390f35b6101ab60048036038101906101a69190610562565b610313565b6040516101b891906107b2565b60405180910390f35b6101db60048036038101906101d691906107d2565b6103bf565b005b6101f760048036038101906101f29190610562565b6103e6565b005b610213600480360381019061020e91906106c9565b610400565b604051610220919061071f565b60405180910390f35b61023161042d565b60405161023e919061092f565b60405180910390f35b610261600480360381019061025c919061094f565b610501565b005b61026b610516565b604051610278919061071f565b60405180910390f35b805f8190555050565b600181908060018154018082558091505060019003905f5260205f20015f9091909190915090816102bb9190610b87565b5050565b5f6002826040516102d09190610c90565b9081526020016040518091039020549050919050565b5f815f546102f49190610cd3565b9050919050565b61030560016103e6565b565b5f600180549050905090565b60606001828154811061032957610328610d14565b5b905f5260205f2001805461033c906109ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906109ba565b80156103b35780601f1061038a576101008083540402835291602001916103b3565b820191905f5260205f20905b81548152906001019060200180831161039657829003601f168201915b50505050509050919050565b806002836040516103d09190610c90565b9081526020016040518091039020819055505050565b805f808282546103f69190610d41565b9250508190555050565b6002818051602081018201805184825260208301602085012081835280955050505050505f915090505481565b60606001805480602002602001604051908101604052809291908181526020015f905b828210156104f8578382905f5260205f2001805461046d906109ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610499906109ba565b80156104e45780601f106104bb576101008083540402835291602001916104e4565b820191905f5260205f20905b8154815290600101906020018083116104c757829003601f168201915b505050505081526020019060010190610450565b50505050905090565b808261050d9190610d41565b5f819055505050565b5f8054905090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6105418161052f565b811461054b575f80fd5b50565b5f8135905061055c81610538565b92915050565b5f6020828403121561057757610576610527565b5b5f6105848482850161054e565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105db82610595565b810181811067ffffffffffffffff821117156105fa576105f96105a5565b5b80604052505050565b5f61060c61051e565b905061061882826105d2565b919050565b5f67ffffffffffffffff821115610637576106366105a5565b5b61064082610595565b9050602081019050919050565b828183375f83830152505050565b5f61066d6106688461061d565b610603565b90508281526020810184848401111561068957610688610591565b5b61069484828561064d565b509392505050565b5f82601f8301126106b0576106af61058d565b5b81356106c084826020860161065b565b91505092915050565b5f602082840312156106de576106dd610527565b5b5f82013567ffffffffffffffff8111156106fb576106fa61052b565b5b6107078482850161069c565b91505092915050565b6107198161052f565b82525050565b5f6020820190506107325f830184610710565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561076f578082015181840152602081019050610754565b5f8484015250505050565b5f61078482610738565b61078e8185610742565b935061079e818560208601610752565b6107a781610595565b840191505092915050565b5f6020820190508181035f8301526107ca818461077a565b905092915050565b5f80604083850312156107e8576107e7610527565b5b5f83013567ffffffffffffffff8111156108055761080461052b565b5b6108118582860161069c565b92505060206108228582860161054e565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f61086f82610738565b6108798185610855565b9350610889818560208601610752565b61089281610595565b840191505092915050565b5f6108a88383610865565b905092915050565b5f602082019050919050565b5f6108c68261082c565b6108d08185610836565b9350836020820285016108e285610846565b805f5b8581101561091d57848403895281516108fe858261089d565b9450610909836108b0565b925060208a019950506001810190506108e5565b50829750879550505050505092915050565b5f6020820190508181035f83015261094781846108bc565b905092915050565b5f806040838503121561096557610964610527565b5b5f6109728582860161054e565b92505060206109838582860161054e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109d157607f821691505b6020821081036109e4576109e361098d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a0b565b610a508683610a0b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610a8b610a86610a818461052f565b610a68565b61052f565b9050919050565b5f819050919050565b610aa483610a71565b610ab8610ab082610a92565b848454610a17565b825550505050565b5f90565b610acc610ac0565b610ad7818484610a9b565b505050565b5b81811015610afa57610aef5f82610ac4565b600181019050610add565b5050565b601f821115610b3f57610b10816109ea565b610b19846109fc565b81016020851015610b28578190505b610b3c610b34856109fc565b830182610adc565b50505b505050565b5f82821c905092915050565b5f610b5f5f1984600802610b44565b1980831691505092915050565b5f610b778383610b50565b9150826002028217905092915050565b610b9082610738565b67ffffffffffffffff811115610ba957610ba86105a5565b5b610bb382546109ba565b610bbe828285610afe565b5f60209050601f831160018114610bef575f8415610bdd578287015190505b610be78582610b6c565b865550610c4e565b601f198416610bfd866109ea565b5f5b82811015610c2457848901518255600182019150602085019450602081019050610bff565b86831015610c415784890151610c3d601f891682610b50565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f610c6a82610738565b610c748185610c56565b9350610c84818560208601610752565b80840191505092915050565b5f610c9b8284610c60565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610cdd8261052f565b9150610ce88361052f565b9250828202610cf68161052f565b91508282048414831517610d0d57610d0c610ca6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f610d4b8261052f565b9150610d568361052f565b9250828201905080821115610d6e57610d6d610ca6565b5b9291505056fea264697066735822122089663688294c28e3f46bb299711fdf8fd913c48bb7985814ab44237a1432ac1664736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xDAA DUP1 PUSH2 0x1D 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 0xCD JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6B8FF574 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x85014C9E GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x85014C9E EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xCD838F0F EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xEF9FC50B EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0xF2C9ECD8 EQ PUSH2 0x263 JUMPI PUSH2 0xCD JUMP JUMPDEST DUP1 PUSH4 0x6B8FF574 EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x7BA1EAB3 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8151B2F5 EQ PUSH2 0x1DD JUMPI PUSH2 0xCD JUMP JUMPDEST DUP1 PUSH4 0x7391DD6 EQ PUSH2 0xD1 JUMPI DUP1 PUSH4 0x11456B47 EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x14B3EE68 EQ PUSH2 0x109 JUMPI DUP1 PUSH4 0x16039540 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x273EA3E3 EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x35F66908 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xEB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x281 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x107 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x102 SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x123 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x11E SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x2BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x2E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH2 0x2FB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x307 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x7B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x7D2 JUMP JUMPDEST PUSH2 0x3BF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x3E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x213 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20E SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x220 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x231 PUSH2 0x42D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x92F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x261 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25C SWAP2 SWAP1 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26B PUSH2 0x516 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SWAP1 DUP2 PUSH2 0x2BB SWAP2 SWAP1 PUSH2 0xB87 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH0 SLOAD PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x305 PUSH1 0x1 PUSH2 0x3E6 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x329 JUMPI PUSH2 0x328 PUSH2 0xD14 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x33C SWAP1 PUSH2 0x9BA 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 0x368 SWAP1 PUSH2 0x9BA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B3 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 0x396 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0xD41 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x4F8 JUMPI DUP4 DUP3 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x46D SWAP1 PUSH2 0x9BA 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 0x499 SWAP1 PUSH2 0x9BA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E4 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 0x4C7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x450 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 DUP3 PUSH2 0x50D SWAP2 SWAP1 PUSH2 0xD41 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x541 DUP2 PUSH2 0x52F JUMP JUMPDEST DUP2 EQ PUSH2 0x54B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55C DUP2 PUSH2 0x538 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x577 JUMPI PUSH2 0x576 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x584 DUP5 DUP3 DUP6 ADD PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x5DB DUP3 PUSH2 0x595 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5FA JUMPI PUSH2 0x5F9 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x60C PUSH2 0x51E JUMP JUMPDEST SWAP1 POP PUSH2 0x618 DUP3 DUP3 PUSH2 0x5D2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x637 JUMPI PUSH2 0x636 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST PUSH2 0x640 DUP3 PUSH2 0x595 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x66D PUSH2 0x668 DUP5 PUSH2 0x61D JUMP JUMPDEST PUSH2 0x603 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x689 JUMPI PUSH2 0x688 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x694 DUP5 DUP3 DUP6 PUSH2 0x64D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6B0 JUMPI PUSH2 0x6AF PUSH2 0x58D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x6C0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x65B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6DE JUMPI PUSH2 0x6DD PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FA PUSH2 0x52B JUMP JUMPDEST JUMPDEST PUSH2 0x707 DUP5 DUP3 DUP6 ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x52F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x732 PUSH0 DUP4 ADD DUP5 PUSH2 0x710 JUMP JUMPDEST SWAP3 SWAP2 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 0x76F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x754 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x784 DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0x78E DUP2 DUP6 PUSH2 0x742 JUMP JUMPDEST SWAP4 POP PUSH2 0x79E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST PUSH2 0x7A7 DUP2 PUSH2 0x595 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 0x7CA DUP2 DUP5 PUSH2 0x77A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7E8 JUMPI PUSH2 0x7E7 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x805 JUMPI PUSH2 0x804 PUSH2 0x52B JUMP JUMPDEST JUMPDEST PUSH2 0x811 DUP6 DUP3 DUP7 ADD PUSH2 0x69C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x822 DUP6 DUP3 DUP7 ADD PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 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 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x86F DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0x879 DUP2 DUP6 PUSH2 0x855 JUMP JUMPDEST SWAP4 POP PUSH2 0x889 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST PUSH2 0x892 DUP2 PUSH2 0x595 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x8A8 DUP4 DUP4 PUSH2 0x865 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x8C6 DUP3 PUSH2 0x82C JUMP JUMPDEST PUSH2 0x8D0 DUP2 DUP6 PUSH2 0x836 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x8E2 DUP6 PUSH2 0x846 JUMP JUMPDEST DUP1 PUSH0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x91D JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x8FE DUP6 DUP3 PUSH2 0x89D JUMP JUMPDEST SWAP5 POP PUSH2 0x909 DUP4 PUSH2 0x8B0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x8E5 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x947 DUP2 DUP5 PUSH2 0x8BC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x965 JUMPI PUSH2 0x964 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x972 DUP6 DUP3 DUP7 ADD PUSH2 0x54E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x983 DUP6 DUP3 DUP7 ADD PUSH2 0x54E 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 0x9D1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x9E4 JUMPI PUSH2 0x9E3 PUSH2 0x98D 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 PUSH2 0xA46 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xA0B JUMP JUMPDEST PUSH2 0xA50 DUP7 DUP4 PUSH2 0xA0B 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 PUSH2 0xA8B PUSH2 0xA86 PUSH2 0xA81 DUP5 PUSH2 0x52F JUMP JUMPDEST PUSH2 0xA68 JUMP JUMPDEST PUSH2 0x52F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAA4 DUP4 PUSH2 0xA71 JUMP JUMPDEST PUSH2 0xAB8 PUSH2 0xAB0 DUP3 PUSH2 0xA92 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xA17 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0xACC PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0xAD7 DUP2 DUP5 DUP5 PUSH2 0xA9B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xAFA JUMPI PUSH2 0xAEF PUSH0 DUP3 PUSH2 0xAC4 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xADD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xB3F JUMPI PUSH2 0xB10 DUP2 PUSH2 0x9EA JUMP JUMPDEST PUSH2 0xB19 DUP5 PUSH2 0x9FC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0xB28 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0xB3C PUSH2 0xB34 DUP6 PUSH2 0x9FC JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xADC JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB5F PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0xB44 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB77 DUP4 DUP4 PUSH2 0xB50 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB90 DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA9 JUMPI PUSH2 0xBA8 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST PUSH2 0xBB3 DUP3 SLOAD PUSH2 0x9BA JUMP JUMPDEST PUSH2 0xBBE DUP3 DUP3 DUP6 PUSH2 0xAFE JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0xBEF JUMPI PUSH0 DUP5 ISZERO PUSH2 0xBDD JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0xBE7 DUP6 DUP3 PUSH2 0xB6C JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0xC4E JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0xBFD DUP7 PUSH2 0x9EA JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xC24 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 PUSH2 0xBFF JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0xC41 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0xC3D PUSH1 0x1F DUP10 AND DUP3 PUSH2 0xB50 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 PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6A DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0xC74 DUP2 DUP6 PUSH2 0xC56 JUMP JUMPDEST SWAP4 POP PUSH2 0xC84 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC9B DUP3 DUP5 PUSH2 0xC60 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xCDD DUP3 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP PUSH2 0xCE8 DUP4 PUSH2 0x52F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xCF6 DUP2 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xD0D JUMPI PUSH2 0xD0C PUSH2 0xCA6 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xD4B DUP3 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP PUSH2 0xD56 DUP4 PUSH2 0x52F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xD6E JUMPI PUSH2 0xD6D PUSH2 0xCA6 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP10 PUSH7 0x3688294C28E3F4 PUSH12 0xB299711FDF8FD913C48BB798 PC EQ 0xAB PREVRANDAO 0x23 PUSH27 0x1432AC1664736F6C63430008150033000000000000000000000000 ",
"sourceMap": "99:1290:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addMobileNumber_111": {
"entryPoint": 959,
"id": 111,
"parameterSlots": 2,
"returnSlots": 0
},
"@addName_85": {
"entryPoint": 650,
"id": 85,
"parameterSlots": 1,
"returnSlots": 0
},
"@addNumbers_73": {
"entryPoint": 1281,
"id": 73,
"parameterSlots": 2,
"returnSlots": 0
},
"@changeNumber_21": {
"entryPoint": 641,
"id": 21,
"parameterSlots": 1,
"returnSlots": 0
},
"@getMobileNumber_123": {
"entryPoint": 703,
"id": 123,
"parameterSlots": 1,
"returnSlots": 1
},
"@getName_97": {
"entryPoint": 787,
"id": 97,
"parameterSlots": 1,
"returnSlots": 1
},
"@getNamesLength_132": {
"entryPoint": 775,
"id": 132,
"parameterSlots": 0,
"returnSlots": 1
},
"@getNames_141": {
"entryPoint": 1069,
"id": 141,
"parameterSlots": 0,
"returnSlots": 1
},
"@getNumberMultiplied_59": {
"entryPoint": 742,
"id": 59,
"parameterSlots": 1,
"returnSlots": 1
},
"@getNumber_29": {
"entryPoint": 1302,
"id": 29,
"parameterSlots": 0,
"returnSlots": 1
},
"@incrementNumber_39": {
"entryPoint": 998,
"id": 39,
"parameterSlots": 1,
"returnSlots": 0
},
"@incrementNumber_47": {
"entryPoint": 763,
"id": 47,
"parameterSlots": 0,
"returnSlots": 0
},
"@phoneNumbers_11": {
"entryPoint": 1024,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1627,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1692,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1358,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 1737,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_uint256": {
"entryPoint": 2002,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1378,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 2383,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 2205,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 2236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 2149,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1914,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 3168,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1808,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 3216,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 2351,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1970,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1823,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1539,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1310,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1565,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 2118,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 2538,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 2092,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1848,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 2224,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 2102,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 2133,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1858,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 3158,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3393,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 3283,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 2814,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 1327,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 2780,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 2673,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 2951,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 1613,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1874,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 2556,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 2490,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 2924,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1490,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 2664,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 2896,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3238,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2445,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 3348,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1445,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 2706,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1421,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1425,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1323,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1319,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1429,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 2571,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 2884,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 2756,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 2583,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 2715,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1336,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 2752,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:15932:1",
"nodeType": "YulBlock",
"src": "0:15932:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1114:28:1",
"nodeType": "YulBlock",
"src": "1114:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1131:1:1",
"nodeType": "YulLiteral",
"src": "1131:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1134:1:1",
"nodeType": "YulLiteral",
"src": "1134:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1124:6:1",
"nodeType": "YulIdentifier",
"src": "1124:6:1"
},
"nativeSrc": "1124:12:1",
"nodeType": "YulFunctionCall",
"src": "1124:12:1"
},
"nativeSrc": "1124:12:1",
"nodeType": "YulExpressionStatement",
"src": "1124:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "1025:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1025:117:1"
},
{
"body": {
"nativeSrc": "1237:28:1",
"nodeType": "YulBlock",
"src": "1237:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1254:1:1",
"nodeType": "YulLiteral",
"src": "1254:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1257:1:1",
"nodeType": "YulLiteral",
"src": "1257:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1247:6:1",
"nodeType": "YulIdentifier",
"src": "1247:6:1"
},
"nativeSrc": "1247:12:1",
"nodeType": "YulFunctionCall",
"src": "1247:12:1"
},
"nativeSrc": "1247:12:1",
"nodeType": "YulExpressionStatement",
"src": "1247:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "1148:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1148:117:1"
},
{
"body": {
"nativeSrc": "1319:54:1",
"nodeType": "YulBlock",
"src": "1319:54:1",
"statements": [
{
"nativeSrc": "1329:38:1",
"nodeType": "YulAssignment",
"src": "1329:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1347:5:1",
"nodeType": "YulIdentifier",
"src": "1347:5:1"
},
{
"kind": "number",
"nativeSrc": "1354:2:1",
"nodeType": "YulLiteral",
"src": "1354:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1343:3:1",
"nodeType": "YulIdentifier",
"src": "1343:3:1"
},
"nativeSrc": "1343:14:1",
"nodeType": "YulFunctionCall",
"src": "1343:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1363:2:1",
"nodeType": "YulLiteral",
"src": "1363:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1359:3:1",
"nodeType": "YulIdentifier",
"src": "1359:3:1"
},
"nativeSrc": "1359:7:1",
"nodeType": "YulFunctionCall",
"src": "1359:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1339:3:1",
"nodeType": "YulIdentifier",
"src": "1339:3:1"
},
"nativeSrc": "1339:28:1",
"nodeType": "YulFunctionCall",
"src": "1339:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1329:6:1",
"nodeType": "YulIdentifier",
"src": "1329:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "1271:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1302:5:1",
"nodeType": "YulTypedName",
"src": "1302:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1312:6:1",
"nodeType": "YulTypedName",
"src": "1312:6:1",
"type": ""
}
],
"src": "1271:102:1"
},
{
"body": {
"nativeSrc": "1407:152:1",
"nodeType": "YulBlock",
"src": "1407:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1424:1:1",
"nodeType": "YulLiteral",
"src": "1424:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1427:77:1",
"nodeType": "YulLiteral",
"src": "1427:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1417:6:1",
"nodeType": "YulIdentifier",
"src": "1417:6:1"
},
"nativeSrc": "1417:88:1",
"nodeType": "YulFunctionCall",
"src": "1417:88:1"
},
"nativeSrc": "1417:88:1",
"nodeType": "YulExpressionStatement",
"src": "1417:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1521:1:1",
"nodeType": "YulLiteral",
"src": "1521:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1524:4:1",
"nodeType": "YulLiteral",
"src": "1524:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1514:6:1",
"nodeType": "YulIdentifier",
"src": "1514:6:1"
},
"nativeSrc": "1514:15:1",
"nodeType": "YulFunctionCall",
"src": "1514:15:1"
},
"nativeSrc": "1514:15:1",
"nodeType": "YulExpressionStatement",
"src": "1514:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1545:1:1",
"nodeType": "YulLiteral",
"src": "1545:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1548:4:1",
"nodeType": "YulLiteral",
"src": "1548:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1538:6:1",
"nodeType": "YulIdentifier",
"src": "1538:6:1"
},
"nativeSrc": "1538:15:1",
"nodeType": "YulFunctionCall",
"src": "1538:15:1"
},
"nativeSrc": "1538:15:1",
"nodeType": "YulExpressionStatement",
"src": "1538:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "1379:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1379:180:1"
},
{
"body": {
"nativeSrc": "1608:238:1",
"nodeType": "YulBlock",
"src": "1608:238:1",
"statements": [
{
"nativeSrc": "1618:58:1",
"nodeType": "YulVariableDeclaration",
"src": "1618:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1640:6:1",
"nodeType": "YulIdentifier",
"src": "1640:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "1670:4:1",
"nodeType": "YulIdentifier",
"src": "1670:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1648:21:1",
"nodeType": "YulIdentifier",
"src": "1648:21:1"
},
"nativeSrc": "1648:27:1",
"nodeType": "YulFunctionCall",
"src": "1648:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1636:3:1",
"nodeType": "YulIdentifier",
"src": "1636:3:1"
},
"nativeSrc": "1636:40:1",
"nodeType": "YulFunctionCall",
"src": "1636:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "1622:10:1",
"nodeType": "YulTypedName",
"src": "1622:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1787:22:1",
"nodeType": "YulBlock",
"src": "1787:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1789:16:1",
"nodeType": "YulIdentifier",
"src": "1789:16:1"
},
"nativeSrc": "1789:18:1",
"nodeType": "YulFunctionCall",
"src": "1789:18:1"
},
"nativeSrc": "1789:18:1",
"nodeType": "YulExpressionStatement",
"src": "1789:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1730:10:1",
"nodeType": "YulIdentifier",
"src": "1730:10:1"
},
{
"kind": "number",
"nativeSrc": "1742:18:1",
"nodeType": "YulLiteral",
"src": "1742:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1727:2:1",
"nodeType": "YulIdentifier",
"src": "1727:2:1"
},
"nativeSrc": "1727:34:1",
"nodeType": "YulFunctionCall",
"src": "1727:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1766:10:1",
"nodeType": "YulIdentifier",
"src": "1766:10:1"
},
{
"name": "memPtr",
"nativeSrc": "1778:6:1",
"nodeType": "YulIdentifier",
"src": "1778:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1763:2:1",
"nodeType": "YulIdentifier",
"src": "1763:2:1"
},
"nativeSrc": "1763:22:1",
"nodeType": "YulFunctionCall",
"src": "1763:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1724:2:1",
"nodeType": "YulIdentifier",
"src": "1724:2:1"
},
"nativeSrc": "1724:62:1",
"nodeType": "YulFunctionCall",
"src": "1724:62:1"
},
"nativeSrc": "1721:88:1",
"nodeType": "YulIf",
"src": "1721:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1825:2:1",
"nodeType": "YulLiteral",
"src": "1825:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "1829:10:1",
"nodeType": "YulIdentifier",
"src": "1829:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1818:6:1",
"nodeType": "YulIdentifier",
"src": "1818:6:1"
},
"nativeSrc": "1818:22:1",
"nodeType": "YulFunctionCall",
"src": "1818:22:1"
},
"nativeSrc": "1818:22:1",
"nodeType": "YulExpressionStatement",
"src": "1818:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "1565:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "1594:6:1",
"nodeType": "YulTypedName",
"src": "1594:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "1602:4:1",
"nodeType": "YulTypedName",
"src": "1602:4:1",
"type": ""
}
],
"src": "1565:281:1"
},
{
"body": {
"nativeSrc": "1893:88:1",
"nodeType": "YulBlock",
"src": "1893:88:1",
"statements": [
{
"nativeSrc": "1903:30:1",
"nodeType": "YulAssignment",
"src": "1903:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "1913:18:1",
"nodeType": "YulIdentifier",
"src": "1913:18:1"
},
"nativeSrc": "1913:20:1",
"nodeType": "YulFunctionCall",
"src": "1913:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1903:6:1",
"nodeType": "YulIdentifier",
"src": "1903:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1962:6:1",
"nodeType": "YulIdentifier",
"src": "1962:6:1"
},
{
"name": "size",
"nativeSrc": "1970:4:1",
"nodeType": "YulIdentifier",
"src": "1970:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "1942:19:1",
"nodeType": "YulIdentifier",
"src": "1942:19:1"
},
"nativeSrc": "1942:33:1",
"nodeType": "YulFunctionCall",
"src": "1942:33:1"
},
"nativeSrc": "1942:33:1",
"nodeType": "YulExpressionStatement",
"src": "1942:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "1852:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "1877:4:1",
"nodeType": "YulTypedName",
"src": "1877:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1886:6:1",
"nodeType": "YulTypedName",
"src": "1886:6:1",
"type": ""
}
],
"src": "1852:129:1"
},
{
"body": {
"nativeSrc": "2054:241:1",
"nodeType": "YulBlock",
"src": "2054:241:1",
"statements": [
{
"body": {
"nativeSrc": "2159:22:1",
"nodeType": "YulBlock",
"src": "2159:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "2161:16:1",
"nodeType": "YulIdentifier",
"src": "2161:16:1"
},
"nativeSrc": "2161:18:1",
"nodeType": "YulFunctionCall",
"src": "2161:18:1"
},
"nativeSrc": "2161:18:1",
"nodeType": "YulExpressionStatement",
"src": "2161:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "2131:6:1",
"nodeType": "YulIdentifier",
"src": "2131:6:1"
},
{
"kind": "number",
"nativeSrc": "2139:18:1",
"nodeType": "YulLiteral",
"src": "2139:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2128:2:1",
"nodeType": "YulIdentifier",
"src": "2128:2:1"
},
"nativeSrc": "2128:30:1",
"nodeType": "YulFunctionCall",
"src": "2128:30:1"
},
"nativeSrc": "2125:56:1",
"nodeType": "YulIf",
"src": "2125:56:1"
},
{
"nativeSrc": "2191:37:1",
"nodeType": "YulAssignment",
"src": "2191:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "2221:6:1",
"nodeType": "YulIdentifier",
"src": "2221:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2199:21:1",
"nodeType": "YulIdentifier",
"src": "2199:21:1"
},
"nativeSrc": "2199:29:1",
"nodeType": "YulFunctionCall",
"src": "2199:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2191:4:1",
"nodeType": "YulIdentifier",
"src": "2191:4:1"
}
]
},
{
"nativeSrc": "2265:23:1",
"nodeType": "YulAssignment",
"src": "2265:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "2277:4:1",
"nodeType": "YulIdentifier",
"src": "2277:4:1"
},
{
"kind": "number",
"nativeSrc": "2283:4:1",
"nodeType": "YulLiteral",
"src": "2283:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2273:3:1",
"nodeType": "YulIdentifier",
"src": "2273:3:1"
},
"nativeSrc": "2273:15:1",
"nodeType": "YulFunctionCall",
"src": "2273:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2265:4:1",
"nodeType": "YulIdentifier",
"src": "2265:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "1987:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "2038:6:1",
"nodeType": "YulTypedName",
"src": "2038:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "2049:4:1",
"nodeType": "YulTypedName",
"src": "2049:4:1",
"type": ""
}
],
"src": "1987:308:1"
},
{
"body": {
"nativeSrc": "2365:82:1",
"nodeType": "YulBlock",
"src": "2365:82:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "2388:3:1",
"nodeType": "YulIdentifier",
"src": "2388:3:1"
},
{
"name": "src",
"nativeSrc": "2393:3:1",
"nodeType": "YulIdentifier",
"src": "2393:3:1"
},
{
"name": "length",
"nativeSrc": "2398:6:1",
"nodeType": "YulIdentifier",
"src": "2398:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "2375:12:1",
"nodeType": "YulIdentifier",
"src": "2375:12:1"
},
"nativeSrc": "2375:30:1",
"nodeType": "YulFunctionCall",
"src": "2375:30:1"
},
"nativeSrc": "2375:30:1",
"nodeType": "YulExpressionStatement",
"src": "2375:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2425:3:1",
"nodeType": "YulIdentifier",
"src": "2425:3:1"
},
{
"name": "length",
"nativeSrc": "2430:6:1",
"nodeType": "YulIdentifier",
"src": "2430:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2421:3:1",
"nodeType": "YulIdentifier",
"src": "2421:3:1"
},
"nativeSrc": "2421:16:1",
"nodeType": "YulFunctionCall",
"src": "2421:16:1"
},
{
"kind": "number",
"nativeSrc": "2439:1:1",
"nodeType": "YulLiteral",
"src": "2439:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2414:6:1",
"nodeType": "YulIdentifier",
"src": "2414:6:1"
},
"nativeSrc": "2414:27:1",
"nodeType": "YulFunctionCall",
"src": "2414:27:1"
},
"nativeSrc": "2414:27:1",
"nodeType": "YulExpressionStatement",
"src": "2414:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2301:146:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2347:3:1",
"nodeType": "YulTypedName",
"src": "2347:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2352:3:1",
"nodeType": "YulTypedName",
"src": "2352:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2357:6:1",
"nodeType": "YulTypedName",
"src": "2357:6:1",
"type": ""
}
],
"src": "2301:146:1"
},
{
"body": {
"nativeSrc": "2537:341:1",
"nodeType": "YulBlock",
"src": "2537:341:1",
"statements": [
{
"nativeSrc": "2547:75:1",
"nodeType": "YulAssignment",
"src": "2547:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "2614:6:1",
"nodeType": "YulIdentifier",
"src": "2614:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "2572:41:1",
"nodeType": "YulIdentifier",
"src": "2572:41:1"
},
"nativeSrc": "2572:49:1",
"nodeType": "YulFunctionCall",
"src": "2572:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "2556:15:1",
"nodeType": "YulIdentifier",
"src": "2556:15:1"
},
"nativeSrc": "2556:66:1",
"nodeType": "YulFunctionCall",
"src": "2556:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2547:5:1",
"nodeType": "YulIdentifier",
"src": "2547:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "2638:5:1",
"nodeType": "YulIdentifier",
"src": "2638:5:1"
},
{
"name": "length",
"nativeSrc": "2645:6:1",
"nodeType": "YulIdentifier",
"src": "2645:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2631:6:1",
"nodeType": "YulIdentifier",
"src": "2631:6:1"
},
"nativeSrc": "2631:21:1",
"nodeType": "YulFunctionCall",
"src": "2631:21:1"
},
"nativeSrc": "2631:21:1",
"nodeType": "YulExpressionStatement",
"src": "2631:21:1"
},
{
"nativeSrc": "2661:27:1",
"nodeType": "YulVariableDeclaration",
"src": "2661:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2676:5:1",
"nodeType": "YulIdentifier",
"src": "2676:5:1"
},
{
"kind": "number",
"nativeSrc": "2683:4:1",
"nodeType": "YulLiteral",
"src": "2683:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2672:3:1",
"nodeType": "YulIdentifier",
"src": "2672:3:1"
},
"nativeSrc": "2672:16:1",
"nodeType": "YulFunctionCall",
"src": "2672:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "2665:3:1",
"nodeType": "YulTypedName",
"src": "2665:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2726:83:1",
"nodeType": "YulBlock",
"src": "2726:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "2728:77:1",
"nodeType": "YulIdentifier",
"src": "2728:77:1"
},
"nativeSrc": "2728:79:1",
"nodeType": "YulFunctionCall",
"src": "2728:79:1"
},
"nativeSrc": "2728:79:1",
"nodeType": "YulExpressionStatement",
"src": "2728:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2707:3:1",
"nodeType": "YulIdentifier",
"src": "2707:3:1"
},
{
"name": "length",
"nativeSrc": "2712:6:1",
"nodeType": "YulIdentifier",
"src": "2712:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2703:3:1",
"nodeType": "YulIdentifier",
"src": "2703:3:1"
},
"nativeSrc": "2703:16:1",
"nodeType": "YulFunctionCall",
"src": "2703:16:1"
},
{
"name": "end",
"nativeSrc": "2721:3:1",
"nodeType": "YulIdentifier",
"src": "2721:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2700:2:1",
"nodeType": "YulIdentifier",
"src": "2700:2:1"
},
"nativeSrc": "2700:25:1",
"nodeType": "YulFunctionCall",
"src": "2700:25:1"
},
"nativeSrc": "2697:112:1",
"nodeType": "YulIf",
"src": "2697:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "2855:3:1",
"nodeType": "YulIdentifier",
"src": "2855:3:1"
},
{
"name": "dst",
"nativeSrc": "2860:3:1",
"nodeType": "YulIdentifier",
"src": "2860:3:1"
},
{
"name": "length",
"nativeSrc": "2865:6:1",
"nodeType": "YulIdentifier",
"src": "2865:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2818:36:1",
"nodeType": "YulIdentifier",
"src": "2818:36:1"
},
"nativeSrc": "2818:54:1",
"nodeType": "YulFunctionCall",
"src": "2818:54:1"
},
"nativeSrc": "2818:54:1",
"nodeType": "YulExpressionStatement",
"src": "2818:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "2453:425:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2510:3:1",
"nodeType": "YulTypedName",
"src": "2510:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2515:6:1",
"nodeType": "YulTypedName",
"src": "2515:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2523:3:1",
"nodeType": "YulTypedName",
"src": "2523:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2531:5:1",
"nodeType": "YulTypedName",
"src": "2531:5:1",
"type": ""
}
],
"src": "2453:425:1"
},
{
"body": {
"nativeSrc": "2960:278:1",
"nodeType": "YulBlock",
"src": "2960:278:1",
"statements": [
{
"body": {
"nativeSrc": "3009:83:1",
"nodeType": "YulBlock",
"src": "3009:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "3011:77:1",
"nodeType": "YulIdentifier",
"src": "3011:77:1"
},
"nativeSrc": "3011:79:1",
"nodeType": "YulFunctionCall",
"src": "3011:79:1"
},
"nativeSrc": "3011:79:1",
"nodeType": "YulExpressionStatement",
"src": "3011:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2988:6:1",
"nodeType": "YulIdentifier",
"src": "2988:6:1"
},
{
"kind": "number",
"nativeSrc": "2996:4:1",
"nodeType": "YulLiteral",
"src": "2996:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2984:3:1",
"nodeType": "YulIdentifier",
"src": "2984:3:1"
},
"nativeSrc": "2984:17:1",
"nodeType": "YulFunctionCall",
"src": "2984:17:1"
},
{
"name": "end",
"nativeSrc": "3003:3:1",
"nodeType": "YulIdentifier",
"src": "3003:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2980:3:1",
"nodeType": "YulIdentifier",
"src": "2980:3:1"
},
"nativeSrc": "2980:27:1",
"nodeType": "YulFunctionCall",
"src": "2980:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2973:6:1",
"nodeType": "YulIdentifier",
"src": "2973:6:1"
},
"nativeSrc": "2973:35:1",
"nodeType": "YulFunctionCall",
"src": "2973:35:1"
},
"nativeSrc": "2970:122:1",
"nodeType": "YulIf",
"src": "2970:122:1"
},
{
"nativeSrc": "3101:34:1",
"nodeType": "YulVariableDeclaration",
"src": "3101:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3128:6:1",
"nodeType": "YulIdentifier",
"src": "3128:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3115:12:1",
"nodeType": "YulIdentifier",
"src": "3115:12:1"
},
"nativeSrc": "3115:20:1",
"nodeType": "YulFunctionCall",
"src": "3115:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "3105:6:1",
"nodeType": "YulTypedName",
"src": "3105:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3144:88:1",
"nodeType": "YulAssignment",
"src": "3144:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3205:6:1",
"nodeType": "YulIdentifier",
"src": "3205:6:1"
},
{
"kind": "number",
"nativeSrc": "3213:4:1",
"nodeType": "YulLiteral",
"src": "3213:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3201:3:1",
"nodeType": "YulIdentifier",
"src": "3201:3:1"
},
"nativeSrc": "3201:17:1",
"nodeType": "YulFunctionCall",
"src": "3201:17:1"
},
{
"name": "length",
"nativeSrc": "3220:6:1",
"nodeType": "YulIdentifier",
"src": "3220:6:1"
},
{
"name": "end",
"nativeSrc": "3228:3:1",
"nodeType": "YulIdentifier",
"src": "3228:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "3153:47:1",
"nodeType": "YulIdentifier",
"src": "3153:47:1"
},
"nativeSrc": "3153:79:1",
"nodeType": "YulFunctionCall",
"src": "3153:79:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "3144:5:1",
"nodeType": "YulIdentifier",
"src": "3144:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "2898:340:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2938:6:1",
"nodeType": "YulTypedName",
"src": "2938:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2946:3:1",
"nodeType": "YulTypedName",
"src": "2946:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2954:5:1",
"nodeType": "YulTypedName",
"src": "2954:5:1",
"type": ""
}
],
"src": "2898:340:1"
},
{
"body": {
"nativeSrc": "3320:433:1",
"nodeType": "YulBlock",
"src": "3320:433:1",
"statements": [
{
"body": {
"nativeSrc": "3366:83:1",
"nodeType": "YulBlock",
"src": "3366:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3368:77:1",
"nodeType": "YulIdentifier",
"src": "3368:77:1"
},
"nativeSrc": "3368:79:1",
"nodeType": "YulFunctionCall",
"src": "3368:79:1"
},
"nativeSrc": "3368:79:1",
"nodeType": "YulExpressionStatement",
"src": "3368:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3341:7:1",
"nodeType": "YulIdentifier",
"src": "3341:7:1"
},
{
"name": "headStart",
"nativeSrc": "3350:9:1",
"nodeType": "YulIdentifier",
"src": "3350:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3337:3:1",
"nodeType": "YulIdentifier",
"src": "3337:3:1"
},
"nativeSrc": "3337:23:1",
"nodeType": "YulFunctionCall",
"src": "3337:23:1"
},
{
"kind": "number",
"nativeSrc": "3362:2:1",
"nodeType": "YulLiteral",
"src": "3362:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3333:3:1",
"nodeType": "YulIdentifier",
"src": "3333:3:1"
},
"nativeSrc": "3333:32:1",
"nodeType": "YulFunctionCall",
"src": "3333:32:1"
},
"nativeSrc": "3330:119:1",
"nodeType": "YulIf",
"src": "3330:119:1"
},
{
"nativeSrc": "3459:287:1",
"nodeType": "YulBlock",
"src": "3459:287:1",
"statements": [
{
"nativeSrc": "3474:45:1",
"nodeType": "YulVariableDeclaration",
"src": "3474:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3505:9:1",
"nodeType": "YulIdentifier",
"src": "3505:9:1"
},
{
"kind": "number",
"nativeSrc": "3516:1:1",
"nodeType": "YulLiteral",
"src": "3516:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3501:3:1",
"nodeType": "YulIdentifier",
"src": "3501:3:1"
},
"nativeSrc": "3501:17:1",
"nodeType": "YulFunctionCall",
"src": "3501:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3488:12:1",
"nodeType": "YulIdentifier",
"src": "3488:12:1"
},
"nativeSrc": "3488:31:1",
"nodeType": "YulFunctionCall",
"src": "3488:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3478:6:1",
"nodeType": "YulTypedName",
"src": "3478:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3566:83:1",
"nodeType": "YulBlock",
"src": "3566:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3568:77:1",
"nodeType": "YulIdentifier",
"src": "3568:77:1"
},
"nativeSrc": "3568:79:1",
"nodeType": "YulFunctionCall",
"src": "3568:79:1"
},
"nativeSrc": "3568:79:1",
"nodeType": "YulExpressionStatement",
"src": "3568:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3538:6:1",
"nodeType": "YulIdentifier",
"src": "3538:6:1"
},
{
"kind": "number",
"nativeSrc": "3546:18:1",
"nodeType": "YulLiteral",
"src": "3546:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3535:2:1",
"nodeType": "YulIdentifier",
"src": "3535:2:1"
},
"nativeSrc": "3535:30:1",
"nodeType": "YulFunctionCall",
"src": "3535:30:1"
},
"nativeSrc": "3532:117:1",
"nodeType": "YulIf",
"src": "3532:117:1"
},
{
"nativeSrc": "3663:73:1",
"nodeType": "YulAssignment",
"src": "3663:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3708:9:1",
"nodeType": "YulIdentifier",
"src": "3708:9:1"
},
{
"name": "offset",
"nativeSrc": "3719:6:1",
"nodeType": "YulIdentifier",
"src": "3719:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3704:3:1",
"nodeType": "YulIdentifier",
"src": "3704:3:1"
},
"nativeSrc": "3704:22:1",
"nodeType": "YulFunctionCall",
"src": "3704:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3728:7:1",
"nodeType": "YulIdentifier",
"src": "3728:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "3673:30:1",
"nodeType": "YulIdentifier",
"src": "3673:30:1"
},
"nativeSrc": "3673:63:1",
"nodeType": "YulFunctionCall",
"src": "3673:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3663:6:1",
"nodeType": "YulIdentifier",
"src": "3663:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nativeSrc": "3244:509:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3290:9:1",
"nodeType": "YulTypedName",
"src": "3290:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3301:7:1",
"nodeType": "YulTypedName",
"src": "3301:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3313:6:1",
"nodeType": "YulTypedName",
"src": "3313:6:1",
"type": ""
}
],
"src": "3244:509:1"
},
{
"body": {
"nativeSrc": "3824:53:1",
"nodeType": "YulBlock",
"src": "3824:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3841:3:1",
"nodeType": "YulIdentifier",
"src": "3841:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3864:5:1",
"nodeType": "YulIdentifier",
"src": "3864:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "3846:17:1",
"nodeType": "YulIdentifier",
"src": "3846:17:1"
},
"nativeSrc": "3846:24:1",
"nodeType": "YulFunctionCall",
"src": "3846:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3834:6:1",
"nodeType": "YulIdentifier",
"src": "3834:6:1"
},
"nativeSrc": "3834:37:1",
"nodeType": "YulFunctionCall",
"src": "3834:37:1"
},
"nativeSrc": "3834:37:1",
"nodeType": "YulExpressionStatement",
"src": "3834:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3759:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3812:5:1",
"nodeType": "YulTypedName",
"src": "3812:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3819:3:1",
"nodeType": "YulTypedName",
"src": "3819:3:1",
"type": ""
}
],
"src": "3759:118:1"
},
{
"body": {
"nativeSrc": "3981:124:1",
"nodeType": "YulBlock",
"src": "3981:124:1",
"statements": [
{
"nativeSrc": "3991:26:1",
"nodeType": "YulAssignment",
"src": "3991:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4003:9:1",
"nodeType": "YulIdentifier",
"src": "4003:9:1"
},
{
"kind": "number",
"nativeSrc": "4014:2:1",
"nodeType": "YulLiteral",
"src": "4014:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3999:3:1",
"nodeType": "YulIdentifier",
"src": "3999:3:1"
},
"nativeSrc": "3999:18:1",
"nodeType": "YulFunctionCall",
"src": "3999:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3991:4:1",
"nodeType": "YulIdentifier",
"src": "3991:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4071:6:1",
"nodeType": "YulIdentifier",
"src": "4071:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4084:9:1",
"nodeType": "YulIdentifier",
"src": "4084:9:1"
},
{
"kind": "number",
"nativeSrc": "4095:1:1",
"nodeType": "YulLiteral",
"src": "4095:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4080:3:1",
"nodeType": "YulIdentifier",
"src": "4080:3:1"
},
"nativeSrc": "4080:17:1",
"nodeType": "YulFunctionCall",
"src": "4080:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "4027:43:1",
"nodeType": "YulIdentifier",
"src": "4027:43:1"
},
"nativeSrc": "4027:71:1",
"nodeType": "YulFunctionCall",
"src": "4027:71:1"
},
"nativeSrc": "4027:71:1",
"nodeType": "YulExpressionStatement",
"src": "4027:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "3883:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3953:9:1",
"nodeType": "YulTypedName",
"src": "3953:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3965:6:1",
"nodeType": "YulTypedName",
"src": "3965:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3976:4:1",
"nodeType": "YulTypedName",
"src": "3976:4:1",
"type": ""
}
],
"src": "3883:222:1"
},
{
"body": {
"nativeSrc": "4170:40:1",
"nodeType": "YulBlock",
"src": "4170:40:1",
"statements": [
{
"nativeSrc": "4181:22:1",
"nodeType": "YulAssignment",
"src": "4181:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4197:5:1",
"nodeType": "YulIdentifier",
"src": "4197:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4191:5:1",
"nodeType": "YulIdentifier",
"src": "4191:5:1"
},
"nativeSrc": "4191:12:1",
"nodeType": "YulFunctionCall",
"src": "4191:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4181:6:1",
"nodeType": "YulIdentifier",
"src": "4181:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4111:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4153:5:1",
"nodeType": "YulTypedName",
"src": "4153:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "4163:6:1",
"nodeType": "YulTypedName",
"src": "4163:6:1",
"type": ""
}
],
"src": "4111:99:1"
},
{
"body": {
"nativeSrc": "4312:73:1",
"nodeType": "YulBlock",
"src": "4312:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4329:3:1",
"nodeType": "YulIdentifier",
"src": "4329:3:1"
},
{
"name": "length",
"nativeSrc": "4334:6:1",
"nodeType": "YulIdentifier",
"src": "4334:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4322:6:1",
"nodeType": "YulIdentifier",
"src": "4322:6:1"
},
"nativeSrc": "4322:19:1",
"nodeType": "YulFunctionCall",
"src": "4322:19:1"
},
"nativeSrc": "4322:19:1",
"nodeType": "YulExpressionStatement",
"src": "4322:19:1"
},
{
"nativeSrc": "4350:29:1",
"nodeType": "YulAssignment",
"src": "4350:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4369:3:1",
"nodeType": "YulIdentifier",
"src": "4369:3:1"
},
{
"kind": "number",
"nativeSrc": "4374:4:1",
"nodeType": "YulLiteral",
"src": "4374:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4365:3:1",
"nodeType": "YulIdentifier",
"src": "4365:3:1"
},
"nativeSrc": "4365:14:1",
"nodeType": "YulFunctionCall",
"src": "4365:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4350:11:1",
"nodeType": "YulIdentifier",
"src": "4350:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4216:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4284:3:1",
"nodeType": "YulTypedName",
"src": "4284:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4289:6:1",
"nodeType": "YulTypedName",
"src": "4289:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4300:11:1",
"nodeType": "YulTypedName",
"src": "4300:11:1",
"type": ""
}
],
"src": "4216:169:1"
},
{
"body": {
"nativeSrc": "4453:184:1",
"nodeType": "YulBlock",
"src": "4453:184:1",
"statements": [
{
"nativeSrc": "4463:10:1",
"nodeType": "YulVariableDeclaration",
"src": "4463:10:1",
"value": {
"kind": "number",
"nativeSrc": "4472:1:1",
"nodeType": "YulLiteral",
"src": "4472:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4467:1:1",
"nodeType": "YulTypedName",
"src": "4467:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4532:63:1",
"nodeType": "YulBlock",
"src": "4532:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "4557:3:1",
"nodeType": "YulIdentifier",
"src": "4557:3:1"
},
{
"name": "i",
"nativeSrc": "4562:1:1",
"nodeType": "YulIdentifier",
"src": "4562:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4553:3:1",
"nodeType": "YulIdentifier",
"src": "4553:3:1"
},
"nativeSrc": "4553:11:1",
"nodeType": "YulFunctionCall",
"src": "4553:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4576:3:1",
"nodeType": "YulIdentifier",
"src": "4576:3:1"
},
{
"name": "i",
"nativeSrc": "4581:1:1",
"nodeType": "YulIdentifier",
"src": "4581:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4572:3:1",
"nodeType": "YulIdentifier",
"src": "4572:3:1"
},
"nativeSrc": "4572:11:1",
"nodeType": "YulFunctionCall",
"src": "4572:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4566:5:1",
"nodeType": "YulIdentifier",
"src": "4566:5:1"
},
"nativeSrc": "4566:18:1",
"nodeType": "YulFunctionCall",
"src": "4566:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4546:6:1",
"nodeType": "YulIdentifier",
"src": "4546:6:1"
},
"nativeSrc": "4546:39:1",
"nodeType": "YulFunctionCall",
"src": "4546:39:1"
},
"nativeSrc": "4546:39:1",
"nodeType": "YulExpressionStatement",
"src": "4546:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4493:1:1",
"nodeType": "YulIdentifier",
"src": "4493:1:1"
},
{
"name": "length",
"nativeSrc": "4496:6:1",
"nodeType": "YulIdentifier",
"src": "4496:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4490:2:1",
"nodeType": "YulIdentifier",
"src": "4490:2:1"
},
"nativeSrc": "4490:13:1",
"nodeType": "YulFunctionCall",
"src": "4490:13:1"
},
"nativeSrc": "4482:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4504:19:1",
"nodeType": "YulBlock",
"src": "4504:19:1",
"statements": [
{
"nativeSrc": "4506:15:1",
"nodeType": "YulAssignment",
"src": "4506:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4515:1:1",
"nodeType": "YulIdentifier",
"src": "4515:1:1"
},
{
"kind": "number",
"nativeSrc": "4518:2:1",
"nodeType": "YulLiteral",
"src": "4518:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4511:3:1",
"nodeType": "YulIdentifier",
"src": "4511:3:1"
},
"nativeSrc": "4511:10:1",
"nodeType": "YulFunctionCall",
"src": "4511:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4506:1:1",
"nodeType": "YulIdentifier",
"src": "4506:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "4486:3:1",
"nodeType": "YulBlock",
"src": "4486:3:1",
"statements": []
},
"src": "4482:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "4615:3:1",
"nodeType": "YulIdentifier",
"src": "4615:3:1"
},
{
"name": "length",
"nativeSrc": "4620:6:1",
"nodeType": "YulIdentifier",
"src": "4620:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4611:3:1",
"nodeType": "YulIdentifier",
"src": "4611:3:1"
},
"nativeSrc": "4611:16:1",
"nodeType": "YulFunctionCall",
"src": "4611:16:1"
},
{
"kind": "number",
"nativeSrc": "4629:1:1",
"nodeType": "YulLiteral",
"src": "4629:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4604:6:1",
"nodeType": "YulIdentifier",
"src": "4604:6:1"
},
"nativeSrc": "4604:27:1",
"nodeType": "YulFunctionCall",
"src": "4604:27:1"
},
"nativeSrc": "4604:27:1",
"nodeType": "YulExpressionStatement",
"src": "4604:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "4391:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "4435:3:1",
"nodeType": "YulTypedName",
"src": "4435:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "4440:3:1",
"nodeType": "YulTypedName",
"src": "4440:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4445:6:1",
"nodeType": "YulTypedName",
"src": "4445:6:1",
"type": ""
}
],
"src": "4391:246:1"
},
{
"body": {
"nativeSrc": "4735:285:1",
"nodeType": "YulBlock",
"src": "4735:285:1",
"statements": [
{
"nativeSrc": "4745:53:1",
"nodeType": "YulVariableDeclaration",
"src": "4745:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4792:5:1",
"nodeType": "YulIdentifier",
"src": "4792:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4759:32:1",
"nodeType": "YulIdentifier",
"src": "4759:32:1"
},
"nativeSrc": "4759:39:1",
"nodeType": "YulFunctionCall",
"src": "4759:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "4749:6:1",
"nodeType": "YulTypedName",
"src": "4749:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4807:78:1",
"nodeType": "YulAssignment",
"src": "4807:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4873:3:1",
"nodeType": "YulIdentifier",
"src": "4873:3:1"
},
{
"name": "length",
"nativeSrc": "4878:6:1",
"nodeType": "YulIdentifier",
"src": "4878:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4814:58:1",
"nodeType": "YulIdentifier",
"src": "4814:58:1"
},
"nativeSrc": "4814:71:1",
"nodeType": "YulFunctionCall",
"src": "4814:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4807:3:1",
"nodeType": "YulIdentifier",
"src": "4807:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4933:5:1",
"nodeType": "YulIdentifier",
"src": "4933:5:1"
},
{
"kind": "number",
"nativeSrc": "4940:4:1",
"nodeType": "YulLiteral",
"src": "4940:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4929:3:1",
"nodeType": "YulIdentifier",
"src": "4929:3:1"
},
"nativeSrc": "4929:16:1",
"nodeType": "YulFunctionCall",
"src": "4929:16:1"
},
{
"name": "pos",
"nativeSrc": "4947:3:1",
"nodeType": "YulIdentifier",
"src": "4947:3:1"
},
{
"name": "length",
"nativeSrc": "4952:6:1",
"nodeType": "YulIdentifier",
"src": "4952:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "4894:34:1",
"nodeType": "YulIdentifier",
"src": "4894:34:1"
},
"nativeSrc": "4894:65:1",
"nodeType": "YulFunctionCall",
"src": "4894:65:1"
},
"nativeSrc": "4894:65:1",
"nodeType": "YulExpressionStatement",
"src": "4894:65:1"
},
{
"nativeSrc": "4968:46:1",
"nodeType": "YulAssignment",
"src": "4968:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4979:3:1",
"nodeType": "YulIdentifier",
"src": "4979:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "5006:6:1",
"nodeType": "YulIdentifier",
"src": "5006:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "4984:21:1",
"nodeType": "YulIdentifier",
"src": "4984:21:1"
},
"nativeSrc": "4984:29:1",
"nodeType": "YulFunctionCall",
"src": "4984:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4975:3:1",
"nodeType": "YulIdentifier",
"src": "4975:3:1"
},
"nativeSrc": "4975:39:1",
"nodeType": "YulFunctionCall",
"src": "4975:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "4968:3:1",
"nodeType": "YulIdentifier",
"src": "4968:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "4643:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4716:5:1",
"nodeType": "YulTypedName",
"src": "4716:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4723:3:1",
"nodeType": "YulTypedName",
"src": "4723:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4731:3:1",
"nodeType": "YulTypedName",
"src": "4731:3:1",
"type": ""
}
],
"src": "4643:377:1"
},
{
"body": {
"nativeSrc": "5144:195:1",
"nodeType": "YulBlock",
"src": "5144:195:1",
"statements": [
{
"nativeSrc": "5154:26:1",
"nodeType": "YulAssignment",
"src": "5154:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "5166:9:1",
"nodeType": "YulIdentifier",
"src": "5166:9:1"
},
{
"kind": "number",
"nativeSrc": "5177:2:1",
"nodeType": "YulLiteral",
"src": "5177:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5162:3:1",
"nodeType": "YulIdentifier",
"src": "5162:3:1"
},
"nativeSrc": "5162:18:1",
"nodeType": "YulFunctionCall",
"src": "5162:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5154:4:1",
"nodeType": "YulIdentifier",
"src": "5154:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5201:9:1",
"nodeType": "YulIdentifier",
"src": "5201:9:1"
},
{
"kind": "number",
"nativeSrc": "5212:1:1",
"nodeType": "YulLiteral",
"src": "5212:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5197:3:1",
"nodeType": "YulIdentifier",
"src": "5197:3:1"
},
"nativeSrc": "5197:17:1",
"nodeType": "YulFunctionCall",
"src": "5197:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "5220:4:1",
"nodeType": "YulIdentifier",
"src": "5220:4:1"
},
{
"name": "headStart",
"nativeSrc": "5226:9:1",
"nodeType": "YulIdentifier",
"src": "5226:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5216:3:1",
"nodeType": "YulIdentifier",
"src": "5216:3:1"
},
"nativeSrc": "5216:20:1",
"nodeType": "YulFunctionCall",
"src": "5216:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5190:6:1",
"nodeType": "YulIdentifier",
"src": "5190:6:1"
},
"nativeSrc": "5190:47:1",
"nodeType": "YulFunctionCall",
"src": "5190:47:1"
},
"nativeSrc": "5190:47:1",
"nodeType": "YulExpressionStatement",
"src": "5190:47:1"
},
{
"nativeSrc": "5246:86:1",
"nodeType": "YulAssignment",
"src": "5246:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "5318:6:1",
"nodeType": "YulIdentifier",
"src": "5318:6:1"
},
{
"name": "tail",
"nativeSrc": "5327:4:1",
"nodeType": "YulIdentifier",
"src": "5327:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5254:63:1",
"nodeType": "YulIdentifier",
"src": "5254:63:1"
},
"nativeSrc": "5254:78:1",
"nodeType": "YulFunctionCall",
"src": "5254:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5246:4:1",
"nodeType": "YulIdentifier",
"src": "5246:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "5026:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5116:9:1",
"nodeType": "YulTypedName",
"src": "5116:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "5128:6:1",
"nodeType": "YulTypedName",
"src": "5128:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "5139:4:1",
"nodeType": "YulTypedName",
"src": "5139:4:1",
"type": ""
}
],
"src": "5026:313:1"
},
{
"body": {
"nativeSrc": "5438:561:1",
"nodeType": "YulBlock",
"src": "5438:561:1",
"statements": [
{
"body": {
"nativeSrc": "5484:83:1",
"nodeType": "YulBlock",
"src": "5484:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5486:77:1",
"nodeType": "YulIdentifier",
"src": "5486:77:1"
},
"nativeSrc": "5486:79:1",
"nodeType": "YulFunctionCall",
"src": "5486:79:1"
},
"nativeSrc": "5486:79:1",
"nodeType": "YulExpressionStatement",
"src": "5486:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5459:7:1",
"nodeType": "YulIdentifier",
"src": "5459:7:1"
},
{
"name": "headStart",
"nativeSrc": "5468:9:1",
"nodeType": "YulIdentifier",
"src": "5468:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5455:3:1",
"nodeType": "YulIdentifier",
"src": "5455:3:1"
},
"nativeSrc": "5455:23:1",
"nodeType": "YulFunctionCall",
"src": "5455:23:1"
},
{
"kind": "number",
"nativeSrc": "5480:2:1",
"nodeType": "YulLiteral",
"src": "5480:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5451:3:1",
"nodeType": "YulIdentifier",
"src": "5451:3:1"
},
"nativeSrc": "5451:32:1",
"nodeType": "YulFunctionCall",
"src": "5451:32:1"
},
"nativeSrc": "5448:119:1",
"nodeType": "YulIf",
"src": "5448:119:1"
},
{
"nativeSrc": "5577:287:1",
"nodeType": "YulBlock",
"src": "5577:287:1",
"statements": [
{
"nativeSrc": "5592:45:1",
"nodeType": "YulVariableDeclaration",
"src": "5592:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5623:9:1",
"nodeType": "YulIdentifier",
"src": "5623:9:1"
},
{
"kind": "number",
"nativeSrc": "5634:1:1",
"nodeType": "YulLiteral",
"src": "5634:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5619:3:1",
"nodeType": "YulIdentifier",
"src": "5619:3:1"
},
"nativeSrc": "5619:17:1",
"nodeType": "YulFunctionCall",
"src": "5619:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5606:12:1",
"nodeType": "YulIdentifier",
"src": "5606:12:1"
},
"nativeSrc": "5606:31:1",
"nodeType": "YulFunctionCall",
"src": "5606:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5596:6:1",
"nodeType": "YulTypedName",
"src": "5596:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5684:83:1",
"nodeType": "YulBlock",
"src": "5684:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "5686:77:1",
"nodeType": "YulIdentifier",
"src": "5686:77:1"
},
"nativeSrc": "5686:79:1",
"nodeType": "YulFunctionCall",
"src": "5686:79:1"
},
"nativeSrc": "5686:79:1",
"nodeType": "YulExpressionStatement",
"src": "5686:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "5656:6:1",
"nodeType": "YulIdentifier",
"src": "5656:6:1"
},
{
"kind": "number",
"nativeSrc": "5664:18:1",
"nodeType": "YulLiteral",
"src": "5664:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5653:2:1",
"nodeType": "YulIdentifier",
"src": "5653:2:1"
},
"nativeSrc": "5653:30:1",
"nodeType": "YulFunctionCall",
"src": "5653:30:1"
},
"nativeSrc": "5650:117:1",
"nodeType": "YulIf",
"src": "5650:117:1"
},
{
"nativeSrc": "5781:73:1",
"nodeType": "YulAssignment",
"src": "5781:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5826:9:1",
"nodeType": "YulIdentifier",
"src": "5826:9:1"
},
{
"name": "offset",
"nativeSrc": "5837:6:1",
"nodeType": "YulIdentifier",
"src": "5837:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5822:3:1",
"nodeType": "YulIdentifier",
"src": "5822:3:1"
},
"nativeSrc": "5822:22:1",
"nodeType": "YulFunctionCall",
"src": "5822:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5846:7:1",
"nodeType": "YulIdentifier",
"src": "5846:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "5791:30:1",
"nodeType": "YulIdentifier",
"src": "5791:30:1"
},
"nativeSrc": "5791:63:1",
"nodeType": "YulFunctionCall",
"src": "5791:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5781:6:1",
"nodeType": "YulIdentifier",
"src": "5781:6:1"
}
]
}
]
},
{
"nativeSrc": "5874:118:1",
"nodeType": "YulBlock",
"src": "5874:118:1",
"statements": [
{
"nativeSrc": "5889:16:1",
"nodeType": "YulVariableDeclaration",
"src": "5889:16:1",
"value": {
"kind": "number",
"nativeSrc": "5903:2:1",
"nodeType": "YulLiteral",
"src": "5903:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5893:6:1",
"nodeType": "YulTypedName",
"src": "5893:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5919:63:1",
"nodeType": "YulAssignment",
"src": "5919:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5954:9:1",
"nodeType": "YulIdentifier",
"src": "5954:9:1"
},
{
"name": "offset",
"nativeSrc": "5965:6:1",
"nodeType": "YulIdentifier",
"src": "5965:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5950:3:1",
"nodeType": "YulIdentifier",
"src": "5950:3:1"
},
"nativeSrc": "5950:22:1",
"nodeType": "YulFunctionCall",
"src": "5950:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5974:7:1",
"nodeType": "YulIdentifier",
"src": "5974:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "5929:20:1",
"nodeType": "YulIdentifier",
"src": "5929:20:1"
},
"nativeSrc": "5929:53:1",
"nodeType": "YulFunctionCall",
"src": "5929:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "5919:6:1",
"nodeType": "YulIdentifier",
"src": "5919:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256",
"nativeSrc": "5345:654:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5400:9:1",
"nodeType": "YulTypedName",
"src": "5400:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5411:7:1",
"nodeType": "YulTypedName",
"src": "5411:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5423:6:1",
"nodeType": "YulTypedName",
"src": "5423:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5431:6:1",
"nodeType": "YulTypedName",
"src": "5431:6:1",
"type": ""
}
],
"src": "5345:654:1"
},
{
"body": {
"nativeSrc": "6089:40:1",
"nodeType": "YulBlock",
"src": "6089:40:1",
"statements": [
{
"nativeSrc": "6100:22:1",
"nodeType": "YulAssignment",
"src": "6100:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "6116:5:1",
"nodeType": "YulIdentifier",
"src": "6116:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6110:5:1",
"nodeType": "YulIdentifier",
"src": "6110:5:1"
},
"nativeSrc": "6110:12:1",
"nodeType": "YulFunctionCall",
"src": "6110:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "6100:6:1",
"nodeType": "YulIdentifier",
"src": "6100:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "6005:124:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6072:5:1",
"nodeType": "YulTypedName",
"src": "6072:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "6082:6:1",
"nodeType": "YulTypedName",
"src": "6082:6:1",
"type": ""
}
],
"src": "6005:124:1"
},
{
"body": {
"nativeSrc": "6256:73:1",
"nodeType": "YulBlock",
"src": "6256:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6273:3:1",
"nodeType": "YulIdentifier",
"src": "6273:3:1"
},
{
"name": "length",
"nativeSrc": "6278:6:1",
"nodeType": "YulIdentifier",
"src": "6278:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6266:6:1",
"nodeType": "YulIdentifier",
"src": "6266:6:1"
},
"nativeSrc": "6266:19:1",
"nodeType": "YulFunctionCall",
"src": "6266:19:1"
},
"nativeSrc": "6266:19:1",
"nodeType": "YulExpressionStatement",
"src": "6266:19:1"
},
{
"nativeSrc": "6294:29:1",
"nodeType": "YulAssignment",
"src": "6294:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6313:3:1",
"nodeType": "YulIdentifier",
"src": "6313:3:1"
},
{
"kind": "number",
"nativeSrc": "6318:4:1",
"nodeType": "YulLiteral",
"src": "6318:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6309:3:1",
"nodeType": "YulIdentifier",
"src": "6309:3:1"
},
"nativeSrc": "6309:14:1",
"nodeType": "YulFunctionCall",
"src": "6309:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "6294:11:1",
"nodeType": "YulIdentifier",
"src": "6294:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "6135:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "6228:3:1",
"nodeType": "YulTypedName",
"src": "6228:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "6233:6:1",
"nodeType": "YulTypedName",
"src": "6233:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "6244:11:1",
"nodeType": "YulTypedName",
"src": "6244:11:1",
"type": ""
}
],
"src": "6135:194:1"
},
{
"body": {
"nativeSrc": "6417:60:1",
"nodeType": "YulBlock",
"src": "6417:60:1",
"statements": [
{
"nativeSrc": "6427:11:1",
"nodeType": "YulAssignment",
"src": "6427:11:1",
"value": {
"name": "ptr",
"nativeSrc": "6435:3:1",
"nodeType": "YulIdentifier",
"src": "6435:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "6427:4:1",
"nodeType": "YulIdentifier",
"src": "6427:4:1"
}
]
},
{
"nativeSrc": "6448:22:1",
"nodeType": "YulAssignment",
"src": "6448:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nativeSrc": "6460:3:1",
"nodeType": "YulIdentifier",
"src": "6460:3:1"
},
{
"kind": "number",
"nativeSrc": "6465:4:1",
"nodeType": "YulLiteral",
"src": "6465:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6456:3:1",
"nodeType": "YulIdentifier",
"src": "6456:3:1"
},
"nativeSrc": "6456:14:1",
"nodeType": "YulFunctionCall",
"src": "6456:14:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "6448:4:1",
"nodeType": "YulIdentifier",
"src": "6448:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "6335:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "6404:3:1",
"nodeType": "YulTypedName",
"src": "6404:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "6412:4:1",
"nodeType": "YulTypedName",
"src": "6412:4:1",
"type": ""
}
],
"src": "6335:142:1"
},
{
"body": {
"nativeSrc": "6569:73:1",
"nodeType": "YulBlock",
"src": "6569:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6586:3:1",
"nodeType": "YulIdentifier",
"src": "6586:3:1"
},
{
"name": "length",
"nativeSrc": "6591:6:1",
"nodeType": "YulIdentifier",
"src": "6591:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6579:6:1",
"nodeType": "YulIdentifier",
"src": "6579:6:1"
},
"nativeSrc": "6579:19:1",
"nodeType": "YulFunctionCall",
"src": "6579:19:1"
},
"nativeSrc": "6579:19:1",
"nodeType": "YulExpressionStatement",
"src": "6579:19:1"
},
{
"nativeSrc": "6607:29:1",
"nodeType": "YulAssignment",
"src": "6607:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6626:3:1",
"nodeType": "YulIdentifier",
"src": "6626:3:1"
},
{
"kind": "number",
"nativeSrc": "6631:4:1",
"nodeType": "YulLiteral",
"src": "6631:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6622:3:1",
"nodeType": "YulIdentifier",
"src": "6622:3:1"
},
"nativeSrc": "6622:14:1",
"nodeType": "YulFunctionCall",
"src": "6622:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "6607:11:1",
"nodeType": "YulIdentifier",
"src": "6607:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nativeSrc": "6483:159:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "6541:3:1",
"nodeType": "YulTypedName",
"src": "6541:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "6546:6:1",
"nodeType": "YulTypedName",
"src": "6546:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "6557:11:1",
"nodeType": "YulTypedName",
"src": "6557:11:1",
"type": ""
}
],
"src": "6483:159:1"
},
{
"body": {
"nativeSrc": "6730:275:1",
"nodeType": "YulBlock",
"src": "6730:275:1",
"statements": [
{
"nativeSrc": "6740:53:1",
"nodeType": "YulVariableDeclaration",
"src": "6740:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "6787:5:1",
"nodeType": "YulIdentifier",
"src": "6787:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "6754:32:1",
"nodeType": "YulIdentifier",
"src": "6754:32:1"
},
"nativeSrc": "6754:39:1",
"nodeType": "YulFunctionCall",
"src": "6754:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "6744:6:1",
"nodeType": "YulTypedName",
"src": "6744:6:1",
"type": ""
}
]
},
{
"nativeSrc": "6802:68:1",
"nodeType": "YulAssignment",
"src": "6802:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6858:3:1",
"nodeType": "YulIdentifier",
"src": "6858:3:1"
},
{
"name": "length",
"nativeSrc": "6863:6:1",
"nodeType": "YulIdentifier",
"src": "6863:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nativeSrc": "6809:48:1",
"nodeType": "YulIdentifier",
"src": "6809:48:1"
},
"nativeSrc": "6809:61:1",
"nodeType": "YulFunctionCall",
"src": "6809:61:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "6802:3:1",
"nodeType": "YulIdentifier",
"src": "6802:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6918:5:1",
"nodeType": "YulIdentifier",
"src": "6918:5:1"
},
{
"kind": "number",
"nativeSrc": "6925:4:1",
"nodeType": "YulLiteral",
"src": "6925:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6914:3:1",
"nodeType": "YulIdentifier",
"src": "6914:3:1"
},
"nativeSrc": "6914:16:1",
"nodeType": "YulFunctionCall",
"src": "6914:16:1"
},
{
"name": "pos",
"nativeSrc": "6932:3:1",
"nodeType": "YulIdentifier",
"src": "6932:3:1"
},
{
"name": "length",
"nativeSrc": "6937:6:1",
"nodeType": "YulIdentifier",
"src": "6937:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "6879:34:1",
"nodeType": "YulIdentifier",
"src": "6879:34:1"
},
"nativeSrc": "6879:65:1",
"nodeType": "YulFunctionCall",
"src": "6879:65:1"
},
"nativeSrc": "6879:65:1",
"nodeType": "YulExpressionStatement",
"src": "6879:65:1"
},
{
"nativeSrc": "6953:46:1",
"nodeType": "YulAssignment",
"src": "6953:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6964:3:1",
"nodeType": "YulIdentifier",
"src": "6964:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "6991:6:1",
"nodeType": "YulIdentifier",
"src": "6991:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "6969:21:1",
"nodeType": "YulIdentifier",
"src": "6969:21:1"
},
"nativeSrc": "6969:29:1",
"nodeType": "YulFunctionCall",
"src": "6969:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6960:3:1",
"nodeType": "YulIdentifier",
"src": "6960:3:1"
},
"nativeSrc": "6960:39:1",
"nodeType": "YulFunctionCall",
"src": "6960:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "6953:3:1",
"nodeType": "YulIdentifier",
"src": "6953:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "6648:357:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6711:5:1",
"nodeType": "YulTypedName",
"src": "6711:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "6718:3:1",
"nodeType": "YulTypedName",
"src": "6718:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "6726:3:1",
"nodeType": "YulTypedName",
"src": "6726:3:1",
"type": ""
}
],
"src": "6648:357:1"
},
{
"body": {
"nativeSrc": "7111:96:1",
"nodeType": "YulBlock",
"src": "7111:96:1",
"statements": [
{
"nativeSrc": "7121:80:1",
"nodeType": "YulAssignment",
"src": "7121:80:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "7189:6:1",
"nodeType": "YulIdentifier",
"src": "7189:6:1"
},
{
"name": "pos",
"nativeSrc": "7197:3:1",
"nodeType": "YulIdentifier",
"src": "7197:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "7135:53:1",
"nodeType": "YulIdentifier",
"src": "7135:53:1"
},
"nativeSrc": "7135:66:1",
"nodeType": "YulFunctionCall",
"src": "7135:66:1"
},
"variableNames": [
{
"name": "updatedPos",
"nativeSrc": "7121:10:1",
"nodeType": "YulIdentifier",
"src": "7121:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "7011:196:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nativeSrc": "7084:6:1",
"nodeType": "YulTypedName",
"src": "7084:6:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "7092:3:1",
"nodeType": "YulTypedName",
"src": "7092:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nativeSrc": "7100:10:1",
"nodeType": "YulTypedName",
"src": "7100:10:1",
"type": ""
}
],
"src": "7011:196:1"
},
{
"body": {
"nativeSrc": "7298:38:1",
"nodeType": "YulBlock",
"src": "7298:38:1",
"statements": [
{
"nativeSrc": "7308:22:1",
"nodeType": "YulAssignment",
"src": "7308:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nativeSrc": "7320:3:1",
"nodeType": "YulIdentifier",
"src": "7320:3:1"
},
{
"kind": "number",
"nativeSrc": "7325:4:1",
"nodeType": "YulLiteral",
"src": "7325:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7316:3:1",
"nodeType": "YulIdentifier",
"src": "7316:3:1"
},
"nativeSrc": "7316:14:1",
"nodeType": "YulFunctionCall",
"src": "7316:14:1"
},
"variableNames": [
{
"name": "next",
"nativeSrc": "7308:4:1",
"nodeType": "YulIdentifier",
"src": "7308:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7213:123:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "7285:3:1",
"nodeType": "YulTypedName",
"src": "7285:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nativeSrc": "7293:4:1",
"nodeType": "YulTypedName",
"src": "7293:4:1",
"type": ""
}
],
"src": "7213:123:1"
},
{
"body": {
"nativeSrc": "7514:847:1",
"nodeType": "YulBlock",
"src": "7514:847:1",
"statements": [
{
"nativeSrc": "7524:78:1",
"nodeType": "YulVariableDeclaration",
"src": "7524:78:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7596:5:1",
"nodeType": "YulIdentifier",
"src": "7596:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7538:57:1",
"nodeType": "YulIdentifier",
"src": "7538:57:1"
},
"nativeSrc": "7538:64:1",
"nodeType": "YulFunctionCall",
"src": "7538:64:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "7528:6:1",
"nodeType": "YulTypedName",
"src": "7528:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7611:103:1",
"nodeType": "YulAssignment",
"src": "7611:103:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7702:3:1",
"nodeType": "YulIdentifier",
"src": "7702:3:1"
},
{
"name": "length",
"nativeSrc": "7707:6:1",
"nodeType": "YulIdentifier",
"src": "7707:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "7618:83:1",
"nodeType": "YulIdentifier",
"src": "7618:83:1"
},
"nativeSrc": "7618:96:1",
"nodeType": "YulFunctionCall",
"src": "7618:96:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "7611:3:1",
"nodeType": "YulIdentifier",
"src": "7611:3:1"
}
]
},
{
"nativeSrc": "7723:20:1",
"nodeType": "YulVariableDeclaration",
"src": "7723:20:1",
"value": {
"name": "pos",
"nativeSrc": "7740:3:1",
"nodeType": "YulIdentifier",
"src": "7740:3:1"
},
"variables": [
{
"name": "headStart",
"nativeSrc": "7727:9:1",
"nodeType": "YulTypedName",
"src": "7727:9:1",
"type": ""
}
]
},
{
"nativeSrc": "7752:39:1",
"nodeType": "YulVariableDeclaration",
"src": "7752:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7768:3:1",
"nodeType": "YulIdentifier",
"src": "7768:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "7777:6:1",
"nodeType": "YulIdentifier",
"src": "7777:6:1"
},
{
"kind": "number",
"nativeSrc": "7785:4:1",
"nodeType": "YulLiteral",
"src": "7785:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7773:3:1",
"nodeType": "YulIdentifier",
"src": "7773:3:1"
},
"nativeSrc": "7773:17:1",
"nodeType": "YulFunctionCall",
"src": "7773:17:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7764:3:1",
"nodeType": "YulIdentifier",
"src": "7764:3:1"
},
"nativeSrc": "7764:27:1",
"nodeType": "YulFunctionCall",
"src": "7764:27:1"
},
"variables": [
{
"name": "tail",
"nativeSrc": "7756:4:1",
"nodeType": "YulTypedName",
"src": "7756:4:1",
"type": ""
}
]
},
{
"nativeSrc": "7800:81:1",
"nodeType": "YulVariableDeclaration",
"src": "7800:81:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7875:5:1",
"nodeType": "YulIdentifier",
"src": "7875:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7815:59:1",
"nodeType": "YulIdentifier",
"src": "7815:59:1"
},
"nativeSrc": "7815:66:1",
"nodeType": "YulFunctionCall",
"src": "7815:66:1"
},
"variables": [
{
"name": "baseRef",
"nativeSrc": "7804:7:1",
"nodeType": "YulTypedName",
"src": "7804:7:1",
"type": ""
}
]
},
{
"nativeSrc": "7890:21:1",
"nodeType": "YulVariableDeclaration",
"src": "7890:21:1",
"value": {
"name": "baseRef",
"nativeSrc": "7904:7:1",
"nodeType": "YulIdentifier",
"src": "7904:7:1"
},
"variables": [
{
"name": "srcPtr",
"nativeSrc": "7894:6:1",
"nodeType": "YulTypedName",
"src": "7894:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7980:336:1",
"nodeType": "YulBlock",
"src": "7980:336:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8001:3:1",
"nodeType": "YulIdentifier",
"src": "8001:3:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "8010:4:1",
"nodeType": "YulIdentifier",
"src": "8010:4:1"
},
{
"name": "headStart",
"nativeSrc": "8016:9:1",
"nodeType": "YulIdentifier",
"src": "8016:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8006:3:1",
"nodeType": "YulIdentifier",
"src": "8006:3:1"
},
"nativeSrc": "8006:20:1",
"nodeType": "YulFunctionCall",
"src": "8006:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7994:6:1",
"nodeType": "YulIdentifier",
"src": "7994:6:1"
},
"nativeSrc": "7994:33:1",
"nodeType": "YulFunctionCall",
"src": "7994:33:1"
},
"nativeSrc": "7994:33:1",
"nodeType": "YulExpressionStatement",
"src": "7994:33:1"
},
{
"nativeSrc": "8040:34:1",
"nodeType": "YulVariableDeclaration",
"src": "8040:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nativeSrc": "8067:6:1",
"nodeType": "YulIdentifier",
"src": "8067:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8061:5:1",
"nodeType": "YulIdentifier",
"src": "8061:5:1"
},
"nativeSrc": "8061:13:1",
"nodeType": "YulFunctionCall",
"src": "8061:13:1"
},
"variables": [
{
"name": "elementValue0",
"nativeSrc": "8044:13:1",
"nodeType": "YulTypedName",
"src": "8044:13:1",
"type": ""
}
]
},
{
"nativeSrc": "8087:92:1",
"nodeType": "YulAssignment",
"src": "8087:92:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nativeSrc": "8159:13:1",
"nodeType": "YulIdentifier",
"src": "8159:13:1"
},
{
"name": "tail",
"nativeSrc": "8174:4:1",
"nodeType": "YulIdentifier",
"src": "8174:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "8095:63:1",
"nodeType": "YulIdentifier",
"src": "8095:63:1"
},
"nativeSrc": "8095:84:1",
"nodeType": "YulFunctionCall",
"src": "8095:84:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8087:4:1",
"nodeType": "YulIdentifier",
"src": "8087:4:1"
}
]
},
{
"nativeSrc": "8192:80:1",
"nodeType": "YulAssignment",
"src": "8192:80:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nativeSrc": "8265:6:1",
"nodeType": "YulIdentifier",
"src": "8265:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "8202:62:1",
"nodeType": "YulIdentifier",
"src": "8202:62:1"
},
"nativeSrc": "8202:70:1",
"nodeType": "YulFunctionCall",
"src": "8202:70:1"
},
"variableNames": [
{
"name": "srcPtr",
"nativeSrc": "8192:6:1",
"nodeType": "YulIdentifier",
"src": "8192:6:1"
}
]
},
{
"nativeSrc": "8285:21:1",
"nodeType": "YulAssignment",
"src": "8285:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8296:3:1",
"nodeType": "YulIdentifier",
"src": "8296:3:1"
},
{
"kind": "number",
"nativeSrc": "8301:4:1",
"nodeType": "YulLiteral",
"src": "8301:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8292:3:1",
"nodeType": "YulIdentifier",
"src": "8292:3:1"
},
"nativeSrc": "8292:14:1",
"nodeType": "YulFunctionCall",
"src": "8292:14:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "8285:3:1",
"nodeType": "YulIdentifier",
"src": "8285:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "7942:1:1",
"nodeType": "YulIdentifier",
"src": "7942:1:1"
},
{
"name": "length",
"nativeSrc": "7945:6:1",
"nodeType": "YulIdentifier",
"src": "7945:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7939:2:1",
"nodeType": "YulIdentifier",
"src": "7939:2:1"
},
"nativeSrc": "7939:13:1",
"nodeType": "YulFunctionCall",
"src": "7939:13:1"
},
"nativeSrc": "7920:396:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "7953:18:1",
"nodeType": "YulBlock",
"src": "7953:18:1",
"statements": [
{
"nativeSrc": "7955:14:1",
"nodeType": "YulAssignment",
"src": "7955:14:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "7964:1:1",
"nodeType": "YulIdentifier",
"src": "7964:1:1"
},
{
"kind": "number",
"nativeSrc": "7967:1:1",
"nodeType": "YulLiteral",
"src": "7967:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7960:3:1",
"nodeType": "YulIdentifier",
"src": "7960:3:1"
},
"nativeSrc": "7960:9:1",
"nodeType": "YulFunctionCall",
"src": "7960:9:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "7955:1:1",
"nodeType": "YulIdentifier",
"src": "7955:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "7924:14:1",
"nodeType": "YulBlock",
"src": "7924:14:1",
"statements": [
{
"nativeSrc": "7926:10:1",
"nodeType": "YulVariableDeclaration",
"src": "7926:10:1",
"value": {
"kind": "number",
"nativeSrc": "7935:1:1",
"nodeType": "YulLiteral",
"src": "7935:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "7930:1:1",
"nodeType": "YulTypedName",
"src": "7930:1:1",
"type": ""
}
]
}
]
},
"src": "7920:396:1"
},
{
"nativeSrc": "8325:11:1",
"nodeType": "YulAssignment",
"src": "8325:11:1",
"value": {
"name": "tail",
"nativeSrc": "8332:4:1",
"nodeType": "YulIdentifier",
"src": "8332:4:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "8325:3:1",
"nodeType": "YulIdentifier",
"src": "8325:3:1"
}
]
},
{
"nativeSrc": "8345:10:1",
"nodeType": "YulAssignment",
"src": "8345:10:1",
"value": {
"name": "pos",
"nativeSrc": "8352:3:1",
"nodeType": "YulIdentifier",
"src": "8352:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "8345:3:1",
"nodeType": "YulIdentifier",
"src": "8345:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "7370:991:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7493:5:1",
"nodeType": "YulTypedName",
"src": "7493:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "7500:3:1",
"nodeType": "YulTypedName",
"src": "7500:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "7509:3:1",
"nodeType": "YulTypedName",
"src": "7509:3:1",
"type": ""
}
],
"src": "7370:991:1"
},
{
"body": {
"nativeSrc": "8535:245:1",
"nodeType": "YulBlock",
"src": "8535:245:1",
"statements": [
{
"nativeSrc": "8545:26:1",
"nodeType": "YulAssignment",
"src": "8545:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "8557:9:1",
"nodeType": "YulIdentifier",
"src": "8557:9:1"
},
{
"kind": "number",
"nativeSrc": "8568:2:1",
"nodeType": "YulLiteral",
"src": "8568:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8553:3:1",
"nodeType": "YulIdentifier",
"src": "8553:3:1"
},
"nativeSrc": "8553:18:1",
"nodeType": "YulFunctionCall",
"src": "8553:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8545:4:1",
"nodeType": "YulIdentifier",
"src": "8545:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8592:9:1",
"nodeType": "YulIdentifier",
"src": "8592:9:1"
},
{
"kind": "number",
"nativeSrc": "8603:1:1",
"nodeType": "YulLiteral",
"src": "8603:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8588:3:1",
"nodeType": "YulIdentifier",
"src": "8588:3:1"
},
"nativeSrc": "8588:17:1",
"nodeType": "YulFunctionCall",
"src": "8588:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "8611:4:1",
"nodeType": "YulIdentifier",
"src": "8611:4:1"
},
{
"name": "headStart",
"nativeSrc": "8617:9:1",
"nodeType": "YulIdentifier",
"src": "8617:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8607:3:1",
"nodeType": "YulIdentifier",
"src": "8607:3:1"
},
"nativeSrc": "8607:20:1",
"nodeType": "YulFunctionCall",
"src": "8607:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8581:6:1",
"nodeType": "YulIdentifier",
"src": "8581:6:1"
},
"nativeSrc": "8581:47:1",
"nodeType": "YulFunctionCall",
"src": "8581:47:1"
},
"nativeSrc": "8581:47:1",
"nodeType": "YulExpressionStatement",
"src": "8581:47:1"
},
{
"nativeSrc": "8637:136:1",
"nodeType": "YulAssignment",
"src": "8637:136:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8759:6:1",
"nodeType": "YulIdentifier",
"src": "8759:6:1"
},
{
"name": "tail",
"nativeSrc": "8768:4:1",
"nodeType": "YulIdentifier",
"src": "8768:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "8645:113:1",
"nodeType": "YulIdentifier",
"src": "8645:113:1"
},
"nativeSrc": "8645:128:1",
"nodeType": "YulFunctionCall",
"src": "8645:128:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8637:4:1",
"nodeType": "YulIdentifier",
"src": "8637:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nativeSrc": "8367:413:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8507:9:1",
"nodeType": "YulTypedName",
"src": "8507:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8519:6:1",
"nodeType": "YulTypedName",
"src": "8519:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "8530:4:1",
"nodeType": "YulTypedName",
"src": "8530:4:1",
"type": ""
}
],
"src": "8367:413:1"
},
{
"body": {
"nativeSrc": "8869:391:1",
"nodeType": "YulBlock",
"src": "8869:391:1",
"statements": [
{
"body": {
"nativeSrc": "8915:83:1",
"nodeType": "YulBlock",
"src": "8915:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "8917:77:1",
"nodeType": "YulIdentifier",
"src": "8917:77:1"
},
"nativeSrc": "8917:79:1",
"nodeType": "YulFunctionCall",
"src": "8917:79:1"
},
"nativeSrc": "8917:79:1",
"nodeType": "YulExpressionStatement",
"src": "8917:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "8890:7:1",
"nodeType": "YulIdentifier",
"src": "8890:7:1"
},
{
"name": "headStart",
"nativeSrc": "8899:9:1",
"nodeType": "YulIdentifier",
"src": "8899:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8886:3:1",
"nodeType": "YulIdentifier",
"src": "8886:3:1"
},
"nativeSrc": "8886:23:1",
"nodeType": "YulFunctionCall",
"src": "8886:23:1"
},
{
"kind": "number",
"nativeSrc": "8911:2:1",
"nodeType": "YulLiteral",
"src": "8911:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "8882:3:1",
"nodeType": "YulIdentifier",
"src": "8882:3:1"
},
"nativeSrc": "8882:32:1",
"nodeType": "YulFunctionCall",
"src": "8882:32:1"
},
"nativeSrc": "8879:119:1",
"nodeType": "YulIf",
"src": "8879:119:1"
},
{
"nativeSrc": "9008:117:1",
"nodeType": "YulBlock",
"src": "9008:117:1",
"statements": [
{
"nativeSrc": "9023:15:1",
"nodeType": "YulVariableDeclaration",
"src": "9023:15:1",
"value": {
"kind": "number",
"nativeSrc": "9037:1:1",
"nodeType": "YulLiteral",
"src": "9037:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9027:6:1",
"nodeType": "YulTypedName",
"src": "9027:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9052:63:1",
"nodeType": "YulAssignment",
"src": "9052:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9087:9:1",
"nodeType": "YulIdentifier",
"src": "9087:9:1"
},
{
"name": "offset",
"nativeSrc": "9098:6:1",
"nodeType": "YulIdentifier",
"src": "9098:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9083:3:1",
"nodeType": "YulIdentifier",
"src": "9083:3:1"
},
"nativeSrc": "9083:22:1",
"nodeType": "YulFunctionCall",
"src": "9083:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "9107:7:1",
"nodeType": "YulIdentifier",
"src": "9107:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "9062:20:1",
"nodeType": "YulIdentifier",
"src": "9062:20:1"
},
"nativeSrc": "9062:53:1",
"nodeType": "YulFunctionCall",
"src": "9062:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "9052:6:1",
"nodeType": "YulIdentifier",
"src": "9052:6:1"
}
]
}
]
},
{
"nativeSrc": "9135:118:1",
"nodeType": "YulBlock",
"src": "9135:118:1",
"statements": [
{
"nativeSrc": "9150:16:1",
"nodeType": "YulVariableDeclaration",
"src": "9150:16:1",
"value": {
"kind": "number",
"nativeSrc": "9164:2:1",
"nodeType": "YulLiteral",
"src": "9164:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9154:6:1",
"nodeType": "YulTypedName",
"src": "9154:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9180:63:1",
"nodeType": "YulAssignment",
"src": "9180:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9215:9:1",
"nodeType": "YulIdentifier",
"src": "9215:9:1"
},
{
"name": "offset",
"nativeSrc": "9226:6:1",
"nodeType": "YulIdentifier",
"src": "9226:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9211:3:1",
"nodeType": "YulIdentifier",
"src": "9211:3:1"
},
"nativeSrc": "9211:22:1",
"nodeType": "YulFunctionCall",
"src": "9211:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "9235:7:1",
"nodeType": "YulIdentifier",
"src": "9235:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "9190:20:1",
"nodeType": "YulIdentifier",
"src": "9190:20:1"
},
"nativeSrc": "9190:53:1",
"nodeType": "YulFunctionCall",
"src": "9190:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "9180:6:1",
"nodeType": "YulIdentifier",
"src": "9180:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nativeSrc": "8786:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8831:9:1",
"nodeType": "YulTypedName",
"src": "8831:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "8842:7:1",
"nodeType": "YulTypedName",
"src": "8842:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "8854:6:1",
"nodeType": "YulTypedName",
"src": "8854:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "8862:6:1",
"nodeType": "YulTypedName",
"src": "8862:6:1",
"type": ""
}
],
"src": "8786:474:1"
},
{
"body": {
"nativeSrc": "9294:152:1",
"nodeType": "YulBlock",
"src": "9294:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9311:1:1",
"nodeType": "YulLiteral",
"src": "9311:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9314:77:1",
"nodeType": "YulLiteral",
"src": "9314:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9304:6:1",
"nodeType": "YulIdentifier",
"src": "9304:6:1"
},
"nativeSrc": "9304:88:1",
"nodeType": "YulFunctionCall",
"src": "9304:88:1"
},
"nativeSrc": "9304:88:1",
"nodeType": "YulExpressionStatement",
"src": "9304:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9408:1:1",
"nodeType": "YulLiteral",
"src": "9408:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "9411:4:1",
"nodeType": "YulLiteral",
"src": "9411:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9401:6:1",
"nodeType": "YulIdentifier",
"src": "9401:6:1"
},
"nativeSrc": "9401:15:1",
"nodeType": "YulFunctionCall",
"src": "9401:15:1"
},
"nativeSrc": "9401:15:1",
"nodeType": "YulExpressionStatement",
"src": "9401:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9432:1:1",
"nodeType": "YulLiteral",
"src": "9432:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9435:4:1",
"nodeType": "YulLiteral",
"src": "9435:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9425:6:1",
"nodeType": "YulIdentifier",
"src": "9425:6:1"
},
"nativeSrc": "9425:15:1",
"nodeType": "YulFunctionCall",
"src": "9425:15:1"
},
"nativeSrc": "9425:15:1",
"nodeType": "YulExpressionStatement",
"src": "9425:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "9266:180:1",
"nodeType": "YulFunctionDefinition",
"src": "9266:180:1"
},
{
"body": {
"nativeSrc": "9503:269:1",
"nodeType": "YulBlock",
"src": "9503:269:1",
"statements": [
{
"nativeSrc": "9513:22:1",
"nodeType": "YulAssignment",
"src": "9513:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9527:4:1",
"nodeType": "YulIdentifier",
"src": "9527:4:1"
},
{
"kind": "number",
"nativeSrc": "9533:1:1",
"nodeType": "YulLiteral",
"src": "9533:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "9523:3:1",
"nodeType": "YulIdentifier",
"src": "9523:3:1"
},
"nativeSrc": "9523:12:1",
"nodeType": "YulFunctionCall",
"src": "9523:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "9513:6:1",
"nodeType": "YulIdentifier",
"src": "9513:6:1"
}
]
},
{
"nativeSrc": "9544:38:1",
"nodeType": "YulVariableDeclaration",
"src": "9544:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9574:4:1",
"nodeType": "YulIdentifier",
"src": "9574:4:1"
},
{
"kind": "number",
"nativeSrc": "9580:1:1",
"nodeType": "YulLiteral",
"src": "9580:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "9570:3:1",
"nodeType": "YulIdentifier",
"src": "9570:3:1"
},
"nativeSrc": "9570:12:1",
"nodeType": "YulFunctionCall",
"src": "9570:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9548:18:1",
"nodeType": "YulTypedName",
"src": "9548:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9621:51:1",
"nodeType": "YulBlock",
"src": "9621:51:1",
"statements": [
{
"nativeSrc": "9635:27:1",
"nodeType": "YulAssignment",
"src": "9635:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "9649:6:1",
"nodeType": "YulIdentifier",
"src": "9649:6:1"
},
{
"kind": "number",
"nativeSrc": "9657:4:1",
"nodeType": "YulLiteral",
"src": "9657:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "9645:3:1",
"nodeType": "YulIdentifier",
"src": "9645:3:1"
},
"nativeSrc": "9645:17:1",
"nodeType": "YulFunctionCall",
"src": "9645:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "9635:6:1",
"nodeType": "YulIdentifier",
"src": "9635:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9601:18:1",
"nodeType": "YulIdentifier",
"src": "9601:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "9594:6:1",
"nodeType": "YulIdentifier",
"src": "9594:6:1"
},
"nativeSrc": "9594:26:1",
"nodeType": "YulFunctionCall",
"src": "9594:26:1"
},
"nativeSrc": "9591:81:1",
"nodeType": "YulIf",
"src": "9591:81:1"
},
{
"body": {
"nativeSrc": "9724:42:1",
"nodeType": "YulBlock",
"src": "9724:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "9738:16:1",
"nodeType": "YulIdentifier",
"src": "9738:16:1"
},
"nativeSrc": "9738:18:1",
"nodeType": "YulFunctionCall",
"src": "9738:18:1"
},
"nativeSrc": "9738:18:1",
"nodeType": "YulExpressionStatement",
"src": "9738:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "9688:18:1",
"nodeType": "YulIdentifier",
"src": "9688:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "9711:6:1",
"nodeType": "YulIdentifier",
"src": "9711:6:1"
},
{
"kind": "number",
"nativeSrc": "9719:2:1",
"nodeType": "YulLiteral",
"src": "9719:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "9708:2:1",
"nodeType": "YulIdentifier",
"src": "9708:2:1"
},
"nativeSrc": "9708:14:1",
"nodeType": "YulFunctionCall",
"src": "9708:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "9685:2:1",
"nodeType": "YulIdentifier",
"src": "9685:2:1"
},
"nativeSrc": "9685:38:1",
"nodeType": "YulFunctionCall",
"src": "9685:38:1"
},
"nativeSrc": "9682:84:1",
"nodeType": "YulIf",
"src": "9682:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "9452:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "9487:4:1",
"nodeType": "YulTypedName",
"src": "9487:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "9496:6:1",
"nodeType": "YulTypedName",
"src": "9496:6:1",
"type": ""
}
],
"src": "9452:320:1"
},
{
"body": {
"nativeSrc": "9832:87:1",
"nodeType": "YulBlock",
"src": "9832:87:1",
"statements": [
{
"nativeSrc": "9842:11:1",
"nodeType": "YulAssignment",
"src": "9842:11:1",
"value": {
"name": "ptr",
"nativeSrc": "9850:3:1",
"nodeType": "YulIdentifier",
"src": "9850:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "9842:4:1",
"nodeType": "YulIdentifier",
"src": "9842:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9870:1:1",
"nodeType": "YulLiteral",
"src": "9870:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "9873:3:1",
"nodeType": "YulIdentifier",
"src": "9873:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9863:6:1",
"nodeType": "YulIdentifier",
"src": "9863:6:1"
},
"nativeSrc": "9863:14:1",
"nodeType": "YulFunctionCall",
"src": "9863:14:1"
},
"nativeSrc": "9863:14:1",
"nodeType": "YulExpressionStatement",
"src": "9863:14:1"
},
{
"nativeSrc": "9886:26:1",
"nodeType": "YulAssignment",
"src": "9886:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9904:1:1",
"nodeType": "YulLiteral",
"src": "9904:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9907:4:1",
"nodeType": "YulLiteral",
"src": "9907:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "9894:9:1",
"nodeType": "YulIdentifier",
"src": "9894:9:1"
},
"nativeSrc": "9894:18:1",
"nodeType": "YulFunctionCall",
"src": "9894:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "9886:4:1",
"nodeType": "YulIdentifier",
"src": "9886:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "9778:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "9819:3:1",
"nodeType": "YulTypedName",
"src": "9819:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "9827:4:1",
"nodeType": "YulTypedName",
"src": "9827:4:1",
"type": ""
}
],
"src": "9778:141:1"
},
{
"body": {
"nativeSrc": "9969:49:1",
"nodeType": "YulBlock",
"src": "9969:49:1",
"statements": [
{
"nativeSrc": "9979:33:1",
"nodeType": "YulAssignment",
"src": "9979:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "9997:5:1",
"nodeType": "YulIdentifier",
"src": "9997:5:1"
},
{
"kind": "number",
"nativeSrc": "10004:2:1",
"nodeType": "YulLiteral",
"src": "10004:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9993:3:1",
"nodeType": "YulIdentifier",
"src": "9993:3:1"
},
"nativeSrc": "9993:14:1",
"nodeType": "YulFunctionCall",
"src": "9993:14:1"
},
{
"kind": "number",
"nativeSrc": "10009:2:1",
"nodeType": "YulLiteral",
"src": "10009:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "9989:3:1",
"nodeType": "YulIdentifier",
"src": "9989:3:1"
},
"nativeSrc": "9989:23:1",
"nodeType": "YulFunctionCall",
"src": "9989:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "9979:6:1",
"nodeType": "YulIdentifier",
"src": "9979:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "9925:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9952:5:1",
"nodeType": "YulTypedName",
"src": "9952:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "9962:6:1",
"nodeType": "YulTypedName",
"src": "9962:6:1",
"type": ""
}
],
"src": "9925:93:1"
},
{
"body": {
"nativeSrc": "10077:54:1",
"nodeType": "YulBlock",
"src": "10077:54:1",
"statements": [
{
"nativeSrc": "10087:37:1",
"nodeType": "YulAssignment",
"src": "10087:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "10112:4:1",
"nodeType": "YulIdentifier",
"src": "10112:4:1"
},
{
"name": "value",
"nativeSrc": "10118:5:1",
"nodeType": "YulIdentifier",
"src": "10118:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "10108:3:1",
"nodeType": "YulIdentifier",
"src": "10108:3:1"
},
"nativeSrc": "10108:16:1",
"nodeType": "YulFunctionCall",
"src": "10108:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "10087:8:1",
"nodeType": "YulIdentifier",
"src": "10087:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "10024:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "10052:4:1",
"nodeType": "YulTypedName",
"src": "10052:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "10058:5:1",
"nodeType": "YulTypedName",
"src": "10058:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "10068:8:1",
"nodeType": "YulTypedName",
"src": "10068:8:1",
"type": ""
}
],
"src": "10024:107:1"
},
{
"body": {
"nativeSrc": "10213:317:1",
"nodeType": "YulBlock",
"src": "10213:317:1",
"statements": [
{
"nativeSrc": "10223:35:1",
"nodeType": "YulVariableDeclaration",
"src": "10223:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "10244:10:1",
"nodeType": "YulIdentifier",
"src": "10244:10:1"
},
{
"kind": "number",
"nativeSrc": "10256:1:1",
"nodeType": "YulLiteral",
"src": "10256:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "10240:3:1",
"nodeType": "YulIdentifier",
"src": "10240:3:1"
},
"nativeSrc": "10240:18:1",
"nodeType": "YulFunctionCall",
"src": "10240:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "10227:9:1",
"nodeType": "YulTypedName",
"src": "10227:9:1",
"type": ""
}
]
},
{
"nativeSrc": "10267:109:1",
"nodeType": "YulVariableDeclaration",
"src": "10267:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "10298:9:1",
"nodeType": "YulIdentifier",
"src": "10298:9:1"
},
{
"kind": "number",
"nativeSrc": "10309:66:1",
"nodeType": "YulLiteral",
"src": "10309:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "10279:18:1",
"nodeType": "YulIdentifier",
"src": "10279:18:1"
},
"nativeSrc": "10279:97:1",
"nodeType": "YulFunctionCall",
"src": "10279:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "10271:4:1",
"nodeType": "YulTypedName",
"src": "10271:4:1",
"type": ""
}
]
},
{
"nativeSrc": "10385:51:1",
"nodeType": "YulAssignment",
"src": "10385:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "10416:9:1",
"nodeType": "YulIdentifier",
"src": "10416:9:1"
},
{
"name": "toInsert",
"nativeSrc": "10427:8:1",
"nodeType": "YulIdentifier",
"src": "10427:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "10397:18:1",
"nodeType": "YulIdentifier",
"src": "10397:18:1"
},
"nativeSrc": "10397:39:1",
"nodeType": "YulFunctionCall",
"src": "10397:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "10385:8:1",
"nodeType": "YulIdentifier",
"src": "10385:8:1"
}
]
},
{
"nativeSrc": "10445:30:1",
"nodeType": "YulAssignment",
"src": "10445:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "10458:5:1",
"nodeType": "YulIdentifier",
"src": "10458:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "10469:4:1",
"nodeType": "YulIdentifier",
"src": "10469:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "10465:3:1",
"nodeType": "YulIdentifier",
"src": "10465:3:1"
},
"nativeSrc": "10465:9:1",
"nodeType": "YulFunctionCall",
"src": "10465:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "10454:3:1",
"nodeType": "YulIdentifier",
"src": "10454:3:1"
},
"nativeSrc": "10454:21:1",
"nodeType": "YulFunctionCall",
"src": "10454:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "10445:5:1",
"nodeType": "YulIdentifier",
"src": "10445:5:1"
}
]
},
{
"nativeSrc": "10484:40:1",
"nodeType": "YulAssignment",
"src": "10484:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "10497:5:1",
"nodeType": "YulIdentifier",
"src": "10497:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "10508:8:1",
"nodeType": "YulIdentifier",
"src": "10508:8:1"
},
{
"name": "mask",
"nativeSrc": "10518:4:1",
"nodeType": "YulIdentifier",
"src": "10518:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "10504:3:1",
"nodeType": "YulIdentifier",
"src": "10504:3:1"
},
"nativeSrc": "10504:19:1",
"nodeType": "YulFunctionCall",
"src": "10504:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "10494:2:1",
"nodeType": "YulIdentifier",
"src": "10494:2:1"
},
"nativeSrc": "10494:30:1",
"nodeType": "YulFunctionCall",
"src": "10494:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "10484:6:1",
"nodeType": "YulIdentifier",
"src": "10484:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "10137:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10174:5:1",
"nodeType": "YulTypedName",
"src": "10174:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "10181:10:1",
"nodeType": "YulTypedName",
"src": "10181:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "10193:8:1",
"nodeType": "YulTypedName",
"src": "10193:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "10206:6:1",
"nodeType": "YulTypedName",
"src": "10206:6:1",
"type": ""
}
],
"src": "10137:393:1"
},
{
"body": {
"nativeSrc": "10568:28:1",
"nodeType": "YulBlock",
"src": "10568:28:1",
"statements": [
{
"nativeSrc": "10578:12:1",
"nodeType": "YulAssignment",
"src": "10578:12:1",
"value": {
"name": "value",
"nativeSrc": "10585:5:1",
"nodeType": "YulIdentifier",
"src": "10585:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "10578:3:1",
"nodeType": "YulIdentifier",
"src": "10578:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "10536:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10554:5:1",
"nodeType": "YulTypedName",
"src": "10554:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "10564:3:1",
"nodeType": "YulTypedName",
"src": "10564:3:1",
"type": ""
}
],
"src": "10536:60:1"
},
{
"body": {
"nativeSrc": "10662:82:1",
"nodeType": "YulBlock",
"src": "10662:82:1",
"statements": [
{
"nativeSrc": "10672:66:1",
"nodeType": "YulAssignment",
"src": "10672:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "10730:5:1",
"nodeType": "YulIdentifier",
"src": "10730:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "10712:17:1",
"nodeType": "YulIdentifier",
"src": "10712:17:1"
},
"nativeSrc": "10712:24:1",
"nodeType": "YulFunctionCall",
"src": "10712:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "10703:8:1",
"nodeType": "YulIdentifier",
"src": "10703:8:1"
},
"nativeSrc": "10703:34:1",
"nodeType": "YulFunctionCall",
"src": "10703:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "10685:17:1",
"nodeType": "YulIdentifier",
"src": "10685:17:1"
},
"nativeSrc": "10685:53:1",
"nodeType": "YulFunctionCall",
"src": "10685:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "10672:9:1",
"nodeType": "YulIdentifier",
"src": "10672:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "10602:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10642:5:1",
"nodeType": "YulTypedName",
"src": "10642:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "10652:9:1",
"nodeType": "YulTypedName",
"src": "10652:9:1",
"type": ""
}
],
"src": "10602:142:1"
},
{
"body": {
"nativeSrc": "10797:28:1",
"nodeType": "YulBlock",
"src": "10797:28:1",
"statements": [
{
"nativeSrc": "10807:12:1",
"nodeType": "YulAssignment",
"src": "10807:12:1",
"value": {
"name": "value",
"nativeSrc": "10814:5:1",
"nodeType": "YulIdentifier",
"src": "10814:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "10807:3:1",
"nodeType": "YulIdentifier",
"src": "10807:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "10750:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10783:5:1",
"nodeType": "YulTypedName",
"src": "10783:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "10793:3:1",
"nodeType": "YulTypedName",
"src": "10793:3:1",
"type": ""
}
],
"src": "10750:75:1"
},
{
"body": {
"nativeSrc": "10907:193:1",
"nodeType": "YulBlock",
"src": "10907:193:1",
"statements": [
{
"nativeSrc": "10917:63:1",
"nodeType": "YulVariableDeclaration",
"src": "10917:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "10972:7:1",
"nodeType": "YulIdentifier",
"src": "10972:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "10941:30:1",
"nodeType": "YulIdentifier",
"src": "10941:30:1"
},
"nativeSrc": "10941:39:1",
"nodeType": "YulFunctionCall",
"src": "10941:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "10921:16:1",
"nodeType": "YulTypedName",
"src": "10921:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "10996:4:1",
"nodeType": "YulIdentifier",
"src": "10996:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "11036:4:1",
"nodeType": "YulIdentifier",
"src": "11036:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "11030:5:1",
"nodeType": "YulIdentifier",
"src": "11030:5:1"
},
"nativeSrc": "11030:11:1",
"nodeType": "YulFunctionCall",
"src": "11030:11:1"
},
{
"name": "offset",
"nativeSrc": "11043:6:1",
"nodeType": "YulIdentifier",
"src": "11043:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "11075:16:1",
"nodeType": "YulIdentifier",
"src": "11075:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "11051:23:1",
"nodeType": "YulIdentifier",
"src": "11051:23:1"
},
"nativeSrc": "11051:41:1",
"nodeType": "YulFunctionCall",
"src": "11051:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "11002:27:1",
"nodeType": "YulIdentifier",
"src": "11002:27:1"
},
"nativeSrc": "11002:91:1",
"nodeType": "YulFunctionCall",
"src": "11002:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "10989:6:1",
"nodeType": "YulIdentifier",
"src": "10989:6:1"
},
"nativeSrc": "10989:105:1",
"nodeType": "YulFunctionCall",
"src": "10989:105:1"
},
"nativeSrc": "10989:105:1",
"nodeType": "YulExpressionStatement",
"src": "10989:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "10831:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "10884:4:1",
"nodeType": "YulTypedName",
"src": "10884:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "10890:6:1",
"nodeType": "YulTypedName",
"src": "10890:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "10898:7:1",
"nodeType": "YulTypedName",
"src": "10898:7:1",
"type": ""
}
],
"src": "10831:269:1"
},
{
"body": {
"nativeSrc": "11155:24:1",
"nodeType": "YulBlock",
"src": "11155:24:1",
"statements": [
{
"nativeSrc": "11165:8:1",
"nodeType": "YulAssignment",
"src": "11165:8:1",
"value": {
"kind": "number",
"nativeSrc": "11172:1:1",
"nodeType": "YulLiteral",
"src": "11172:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "11165:3:1",
"nodeType": "YulIdentifier",
"src": "11165:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "11106:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "11151:3:1",
"nodeType": "YulTypedName",
"src": "11151:3:1",
"type": ""
}
],
"src": "11106:73:1"
},
{
"body": {
"nativeSrc": "11238:136:1",
"nodeType": "YulBlock",
"src": "11238:136:1",
"statements": [
{
"nativeSrc": "11248:46:1",
"nodeType": "YulVariableDeclaration",
"src": "11248:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "11262:30:1",
"nodeType": "YulIdentifier",
"src": "11262:30:1"
},
"nativeSrc": "11262:32:1",
"nodeType": "YulFunctionCall",
"src": "11262:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "11252:6:1",
"nodeType": "YulTypedName",
"src": "11252:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "11347:4:1",
"nodeType": "YulIdentifier",
"src": "11347:4:1"
},
{
"name": "offset",
"nativeSrc": "11353:6:1",
"nodeType": "YulIdentifier",
"src": "11353:6:1"
},
{
"name": "zero_0",
"nativeSrc": "11361:6:1",
"nodeType": "YulIdentifier",
"src": "11361:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "11303:43:1",
"nodeType": "YulIdentifier",
"src": "11303:43:1"
},
"nativeSrc": "11303:65:1",
"nodeType": "YulFunctionCall",
"src": "11303:65:1"
},
"nativeSrc": "11303:65:1",
"nodeType": "YulExpressionStatement",
"src": "11303:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "11185:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "11224:4:1",
"nodeType": "YulTypedName",
"src": "11224:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "11230:6:1",
"nodeType": "YulTypedName",
"src": "11230:6:1",
"type": ""
}
],
"src": "11185:189:1"
},
{
"body": {
"nativeSrc": "11430:136:1",
"nodeType": "YulBlock",
"src": "11430:136:1",
"statements": [
{
"body": {
"nativeSrc": "11497:63:1",
"nodeType": "YulBlock",
"src": "11497:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "11541:5:1",
"nodeType": "YulIdentifier",
"src": "11541:5:1"
},
{
"kind": "number",
"nativeSrc": "11548:1:1",
"nodeType": "YulLiteral",
"src": "11548:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "11511:29:1",
"nodeType": "YulIdentifier",
"src": "11511:29:1"
},
"nativeSrc": "11511:39:1",
"nodeType": "YulFunctionCall",
"src": "11511:39:1"
},
"nativeSrc": "11511:39:1",
"nodeType": "YulExpressionStatement",
"src": "11511:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "11450:5:1",
"nodeType": "YulIdentifier",
"src": "11450:5:1"
},
{
"name": "end",
"nativeSrc": "11457:3:1",
"nodeType": "YulIdentifier",
"src": "11457:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "11447:2:1",
"nodeType": "YulIdentifier",
"src": "11447:2:1"
},
"nativeSrc": "11447:14:1",
"nodeType": "YulFunctionCall",
"src": "11447:14:1"
},
"nativeSrc": "11440:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "11462:26:1",
"nodeType": "YulBlock",
"src": "11462:26:1",
"statements": [
{
"nativeSrc": "11464:22:1",
"nodeType": "YulAssignment",
"src": "11464:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "11477:5:1",
"nodeType": "YulIdentifier",
"src": "11477:5:1"
},
{
"kind": "number",
"nativeSrc": "11484:1:1",
"nodeType": "YulLiteral",
"src": "11484:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11473:3:1",
"nodeType": "YulIdentifier",
"src": "11473:3:1"
},
"nativeSrc": "11473:13:1",
"nodeType": "YulFunctionCall",
"src": "11473:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "11464:5:1",
"nodeType": "YulIdentifier",
"src": "11464:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "11444:2:1",
"nodeType": "YulBlock",
"src": "11444:2:1",
"statements": []
},
"src": "11440:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "11380:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "11418:5:1",
"nodeType": "YulTypedName",
"src": "11418:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "11425:3:1",
"nodeType": "YulTypedName",
"src": "11425:3:1",
"type": ""
}
],
"src": "11380:186:1"
},
{
"body": {
"nativeSrc": "11651:464:1",
"nodeType": "YulBlock",
"src": "11651:464:1",
"statements": [
{
"body": {
"nativeSrc": "11677:431:1",
"nodeType": "YulBlock",
"src": "11677:431:1",
"statements": [
{
"nativeSrc": "11691:54:1",
"nodeType": "YulVariableDeclaration",
"src": "11691:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "11739:5:1",
"nodeType": "YulIdentifier",
"src": "11739:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "11707:31:1",
"nodeType": "YulIdentifier",
"src": "11707:31:1"
},
"nativeSrc": "11707:38:1",
"nodeType": "YulFunctionCall",
"src": "11707:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "11695:8:1",
"nodeType": "YulTypedName",
"src": "11695:8:1",
"type": ""
}
]
},
{
"nativeSrc": "11758:63:1",
"nodeType": "YulVariableDeclaration",
"src": "11758:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "11781:8:1",
"nodeType": "YulIdentifier",
"src": "11781:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "11809:10:1",
"nodeType": "YulIdentifier",
"src": "11809:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "11791:17:1",
"nodeType": "YulIdentifier",
"src": "11791:17:1"
},
"nativeSrc": "11791:29:1",
"nodeType": "YulFunctionCall",
"src": "11791:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11777:3:1",
"nodeType": "YulIdentifier",
"src": "11777:3:1"
},
"nativeSrc": "11777:44:1",
"nodeType": "YulFunctionCall",
"src": "11777:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "11762:11:1",
"nodeType": "YulTypedName",
"src": "11762:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "11978:27:1",
"nodeType": "YulBlock",
"src": "11978:27:1",
"statements": [
{
"nativeSrc": "11980:23:1",
"nodeType": "YulAssignment",
"src": "11980:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "11995:8:1",
"nodeType": "YulIdentifier",
"src": "11995:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "11980:11:1",
"nodeType": "YulIdentifier",
"src": "11980:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "11962:10:1",
"nodeType": "YulIdentifier",
"src": "11962:10:1"
},
{
"kind": "number",
"nativeSrc": "11974:2:1",
"nodeType": "YulLiteral",
"src": "11974:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "11959:2:1",
"nodeType": "YulIdentifier",
"src": "11959:2:1"
},
"nativeSrc": "11959:18:1",
"nodeType": "YulFunctionCall",
"src": "11959:18:1"
},
"nativeSrc": "11956:49:1",
"nodeType": "YulIf",
"src": "11956:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "12047:11:1",
"nodeType": "YulIdentifier",
"src": "12047:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "12064:8:1",
"nodeType": "YulIdentifier",
"src": "12064:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "12092:3:1",
"nodeType": "YulIdentifier",
"src": "12092:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "12074:17:1",
"nodeType": "YulIdentifier",
"src": "12074:17:1"
},
"nativeSrc": "12074:22:1",
"nodeType": "YulFunctionCall",
"src": "12074:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12060:3:1",
"nodeType": "YulIdentifier",
"src": "12060:3:1"
},
"nativeSrc": "12060:37:1",
"nodeType": "YulFunctionCall",
"src": "12060:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "12018:28:1",
"nodeType": "YulIdentifier",
"src": "12018:28:1"
},
"nativeSrc": "12018:80:1",
"nodeType": "YulFunctionCall",
"src": "12018:80:1"
},
"nativeSrc": "12018:80:1",
"nodeType": "YulExpressionStatement",
"src": "12018:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "11668:3:1",
"nodeType": "YulIdentifier",
"src": "11668:3:1"
},
{
"kind": "number",
"nativeSrc": "11673:2:1",
"nodeType": "YulLiteral",
"src": "11673:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "11665:2:1",
"nodeType": "YulIdentifier",
"src": "11665:2:1"
},
"nativeSrc": "11665:11:1",
"nodeType": "YulFunctionCall",
"src": "11665:11:1"
},
"nativeSrc": "11662:446:1",
"nodeType": "YulIf",
"src": "11662:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "11572:543:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "11627:5:1",
"nodeType": "YulTypedName",
"src": "11627:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "11634:3:1",
"nodeType": "YulTypedName",
"src": "11634:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "11639:10:1",
"nodeType": "YulTypedName",
"src": "11639:10:1",
"type": ""
}
],
"src": "11572:543:1"
},
{
"body": {
"nativeSrc": "12184:54:1",
"nodeType": "YulBlock",
"src": "12184:54:1",
"statements": [
{
"nativeSrc": "12194:37:1",
"nodeType": "YulAssignment",
"src": "12194:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "12219:4:1",
"nodeType": "YulIdentifier",
"src": "12219:4:1"
},
{
"name": "value",
"nativeSrc": "12225:5:1",
"nodeType": "YulIdentifier",
"src": "12225:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "12215:3:1",
"nodeType": "YulIdentifier",
"src": "12215:3:1"
},
"nativeSrc": "12215:16:1",
"nodeType": "YulFunctionCall",
"src": "12215:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "12194:8:1",
"nodeType": "YulIdentifier",
"src": "12194:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "12121:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "12159:4:1",
"nodeType": "YulTypedName",
"src": "12159:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "12165:5:1",
"nodeType": "YulTypedName",
"src": "12165:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "12175:8:1",
"nodeType": "YulTypedName",
"src": "12175:8:1",
"type": ""
}
],
"src": "12121:117:1"
},
{
"body": {
"nativeSrc": "12295:118:1",
"nodeType": "YulBlock",
"src": "12295:118:1",
"statements": [
{
"nativeSrc": "12305:68:1",
"nodeType": "YulVariableDeclaration",
"src": "12305:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "12354:1:1",
"nodeType": "YulLiteral",
"src": "12354:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "12357:5:1",
"nodeType": "YulIdentifier",
"src": "12357:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "12350:3:1",
"nodeType": "YulIdentifier",
"src": "12350:3:1"
},
"nativeSrc": "12350:13:1",
"nodeType": "YulFunctionCall",
"src": "12350:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "12369:1:1",
"nodeType": "YulLiteral",
"src": "12369:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "12365:3:1",
"nodeType": "YulIdentifier",
"src": "12365:3:1"
},
"nativeSrc": "12365:6:1",
"nodeType": "YulFunctionCall",
"src": "12365:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "12321:28:1",
"nodeType": "YulIdentifier",
"src": "12321:28:1"
},
"nativeSrc": "12321:51:1",
"nodeType": "YulFunctionCall",
"src": "12321:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "12317:3:1",
"nodeType": "YulIdentifier",
"src": "12317:3:1"
},
"nativeSrc": "12317:56:1",
"nodeType": "YulFunctionCall",
"src": "12317:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "12309:4:1",
"nodeType": "YulTypedName",
"src": "12309:4:1",
"type": ""
}
]
},
{
"nativeSrc": "12382:25:1",
"nodeType": "YulAssignment",
"src": "12382:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "12396:4:1",
"nodeType": "YulIdentifier",
"src": "12396:4:1"
},
{
"name": "mask",
"nativeSrc": "12402:4:1",
"nodeType": "YulIdentifier",
"src": "12402:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "12392:3:1",
"nodeType": "YulIdentifier",
"src": "12392:3:1"
},
"nativeSrc": "12392:15:1",
"nodeType": "YulFunctionCall",
"src": "12392:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "12382:6:1",
"nodeType": "YulIdentifier",
"src": "12382:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "12244:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "12272:4:1",
"nodeType": "YulTypedName",
"src": "12272:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "12278:5:1",
"nodeType": "YulTypedName",
"src": "12278:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "12288:6:1",
"nodeType": "YulTypedName",
"src": "12288:6:1",
"type": ""
}
],
"src": "12244:169:1"
},
{
"body": {
"nativeSrc": "12499:214:1",
"nodeType": "YulBlock",
"src": "12499:214:1",
"statements": [
{
"nativeSrc": "12632:37:1",
"nodeType": "YulAssignment",
"src": "12632:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "12659:4:1",
"nodeType": "YulIdentifier",
"src": "12659:4:1"
},
{
"name": "len",
"nativeSrc": "12665:3:1",
"nodeType": "YulIdentifier",
"src": "12665:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "12640:18:1",
"nodeType": "YulIdentifier",
"src": "12640:18:1"
},
"nativeSrc": "12640:29:1",
"nodeType": "YulFunctionCall",
"src": "12640:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "12632:4:1",
"nodeType": "YulIdentifier",
"src": "12632:4:1"
}
]
},
{
"nativeSrc": "12678:29:1",
"nodeType": "YulAssignment",
"src": "12678:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "12689:4:1",
"nodeType": "YulIdentifier",
"src": "12689:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "12699:1:1",
"nodeType": "YulLiteral",
"src": "12699:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "12702:3:1",
"nodeType": "YulIdentifier",
"src": "12702:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "12695:3:1",
"nodeType": "YulIdentifier",
"src": "12695:3:1"
},
"nativeSrc": "12695:11:1",
"nodeType": "YulFunctionCall",
"src": "12695:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "12686:2:1",
"nodeType": "YulIdentifier",
"src": "12686:2:1"
},
"nativeSrc": "12686:21:1",
"nodeType": "YulFunctionCall",
"src": "12686:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "12678:4:1",
"nodeType": "YulIdentifier",
"src": "12678:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "12418:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "12480:4:1",
"nodeType": "YulTypedName",
"src": "12480:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "12486:3:1",
"nodeType": "YulTypedName",
"src": "12486:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "12494:4:1",
"nodeType": "YulTypedName",
"src": "12494:4:1",
"type": ""
}
],
"src": "12418:295:1"
},
{
"body": {
"nativeSrc": "12810:1303:1",
"nodeType": "YulBlock",
"src": "12810:1303:1",
"statements": [
{
"nativeSrc": "12821:51:1",
"nodeType": "YulVariableDeclaration",
"src": "12821:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "12868:3:1",
"nodeType": "YulIdentifier",
"src": "12868:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "12835:32:1",
"nodeType": "YulIdentifier",
"src": "12835:32:1"
},
"nativeSrc": "12835:37:1",
"nodeType": "YulFunctionCall",
"src": "12835:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "12825:6:1",
"nodeType": "YulTypedName",
"src": "12825:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "12957:22:1",
"nodeType": "YulBlock",
"src": "12957:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "12959:16:1",
"nodeType": "YulIdentifier",
"src": "12959:16:1"
},
"nativeSrc": "12959:18:1",
"nodeType": "YulFunctionCall",
"src": "12959:18:1"
},
"nativeSrc": "12959:18:1",
"nodeType": "YulExpressionStatement",
"src": "12959:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "12929:6:1",
"nodeType": "YulIdentifier",
"src": "12929:6:1"
},
{
"kind": "number",
"nativeSrc": "12937:18:1",
"nodeType": "YulLiteral",
"src": "12937:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "12926:2:1",
"nodeType": "YulIdentifier",
"src": "12926:2:1"
},
"nativeSrc": "12926:30:1",
"nodeType": "YulFunctionCall",
"src": "12926:30:1"
},
"nativeSrc": "12923:56:1",
"nodeType": "YulIf",
"src": "12923:56:1"
},
{
"nativeSrc": "12989:52:1",
"nodeType": "YulVariableDeclaration",
"src": "12989:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "13035:4:1",
"nodeType": "YulIdentifier",
"src": "13035:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "13029:5:1",
"nodeType": "YulIdentifier",
"src": "13029:5:1"
},
"nativeSrc": "13029:11:1",
"nodeType": "YulFunctionCall",
"src": "13029:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "13003:25:1",
"nodeType": "YulIdentifier",
"src": "13003:25:1"
},
"nativeSrc": "13003:38:1",
"nodeType": "YulFunctionCall",
"src": "13003:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "12993:6:1",
"nodeType": "YulTypedName",
"src": "12993:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "13134:4:1",
"nodeType": "YulIdentifier",
"src": "13134:4:1"
},
{
"name": "oldLen",
"nativeSrc": "13140:6:1",
"nodeType": "YulIdentifier",
"src": "13140:6:1"
},
{
"name": "newLen",
"nativeSrc": "13148:6:1",
"nodeType": "YulIdentifier",
"src": "13148:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "13088:45:1",
"nodeType": "YulIdentifier",
"src": "13088:45:1"
},
"nativeSrc": "13088:67:1",
"nodeType": "YulFunctionCall",
"src": "13088:67:1"
},
"nativeSrc": "13088:67:1",
"nodeType": "YulExpressionStatement",
"src": "13088:67:1"
},
{
"nativeSrc": "13165:18:1",
"nodeType": "YulVariableDeclaration",
"src": "13165:18:1",
"value": {
"kind": "number",
"nativeSrc": "13182:1:1",
"nodeType": "YulLiteral",
"src": "13182:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "13169:9:1",
"nodeType": "YulTypedName",
"src": "13169:9:1",
"type": ""
}
]
},
{
"nativeSrc": "13193:17:1",
"nodeType": "YulAssignment",
"src": "13193:17:1",
"value": {
"kind": "number",
"nativeSrc": "13206:4:1",
"nodeType": "YulLiteral",
"src": "13206:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "13193:9:1",
"nodeType": "YulIdentifier",
"src": "13193:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "13257:611:1",
"nodeType": "YulBlock",
"src": "13257:611:1",
"statements": [
{
"nativeSrc": "13271:37:1",
"nodeType": "YulVariableDeclaration",
"src": "13271:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "13290:6:1",
"nodeType": "YulIdentifier",
"src": "13290:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "13302:4:1",
"nodeType": "YulLiteral",
"src": "13302:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "13298:3:1",
"nodeType": "YulIdentifier",
"src": "13298:3:1"
},
"nativeSrc": "13298:9:1",
"nodeType": "YulFunctionCall",
"src": "13298:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "13286:3:1",
"nodeType": "YulIdentifier",
"src": "13286:3:1"
},
"nativeSrc": "13286:22:1",
"nodeType": "YulFunctionCall",
"src": "13286:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "13275:7:1",
"nodeType": "YulTypedName",
"src": "13275:7:1",
"type": ""
}
]
},
{
"nativeSrc": "13322:51:1",
"nodeType": "YulVariableDeclaration",
"src": "13322:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "13368:4:1",
"nodeType": "YulIdentifier",
"src": "13368:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "13336:31:1",
"nodeType": "YulIdentifier",
"src": "13336:31:1"
},
"nativeSrc": "13336:37:1",
"nodeType": "YulFunctionCall",
"src": "13336:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "13326:6:1",
"nodeType": "YulTypedName",
"src": "13326:6:1",
"type": ""
}
]
},
{
"nativeSrc": "13386:10:1",
"nodeType": "YulVariableDeclaration",
"src": "13386:10:1",
"value": {
"kind": "number",
"nativeSrc": "13395:1:1",
"nodeType": "YulLiteral",
"src": "13395:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "13390:1:1",
"nodeType": "YulTypedName",
"src": "13390:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "13454:163:1",
"nodeType": "YulBlock",
"src": "13454:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "13479:6:1",
"nodeType": "YulIdentifier",
"src": "13479:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "13497:3:1",
"nodeType": "YulIdentifier",
"src": "13497:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "13502:9:1",
"nodeType": "YulIdentifier",
"src": "13502:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13493:3:1",
"nodeType": "YulIdentifier",
"src": "13493:3:1"
},
"nativeSrc": "13493:19:1",
"nodeType": "YulFunctionCall",
"src": "13493:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "13487:5:1",
"nodeType": "YulIdentifier",
"src": "13487:5:1"
},
"nativeSrc": "13487:26:1",
"nodeType": "YulFunctionCall",
"src": "13487:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "13472:6:1",
"nodeType": "YulIdentifier",
"src": "13472:6:1"
},
"nativeSrc": "13472:42:1",
"nodeType": "YulFunctionCall",
"src": "13472:42:1"
},
"nativeSrc": "13472:42:1",
"nodeType": "YulExpressionStatement",
"src": "13472:42:1"
},
{
"nativeSrc": "13531:24:1",
"nodeType": "YulAssignment",
"src": "13531:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "13545:6:1",
"nodeType": "YulIdentifier",
"src": "13545:6:1"
},
{
"kind": "number",
"nativeSrc": "13553:1:1",
"nodeType": "YulLiteral",
"src": "13553:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13541:3:1",
"nodeType": "YulIdentifier",
"src": "13541:3:1"
},
"nativeSrc": "13541:14:1",
"nodeType": "YulFunctionCall",
"src": "13541:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "13531:6:1",
"nodeType": "YulIdentifier",
"src": "13531:6:1"
}
]
},
{
"nativeSrc": "13572:31:1",
"nodeType": "YulAssignment",
"src": "13572:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "13589:9:1",
"nodeType": "YulIdentifier",
"src": "13589:9:1"
},
{
"kind": "number",
"nativeSrc": "13600:2:1",
"nodeType": "YulLiteral",
"src": "13600:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13585:3:1",
"nodeType": "YulIdentifier",
"src": "13585:3:1"
},
"nativeSrc": "13585:18:1",
"nodeType": "YulFunctionCall",
"src": "13585:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "13572:9:1",
"nodeType": "YulIdentifier",
"src": "13572:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "13420:1:1",
"nodeType": "YulIdentifier",
"src": "13420:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "13423:7:1",
"nodeType": "YulIdentifier",
"src": "13423:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "13417:2:1",
"nodeType": "YulIdentifier",
"src": "13417:2:1"
},
"nativeSrc": "13417:14:1",
"nodeType": "YulFunctionCall",
"src": "13417:14:1"
},
"nativeSrc": "13409:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "13432:21:1",
"nodeType": "YulBlock",
"src": "13432:21:1",
"statements": [
{
"nativeSrc": "13434:17:1",
"nodeType": "YulAssignment",
"src": "13434:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "13443:1:1",
"nodeType": "YulIdentifier",
"src": "13443:1:1"
},
{
"kind": "number",
"nativeSrc": "13446:4:1",
"nodeType": "YulLiteral",
"src": "13446:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13439:3:1",
"nodeType": "YulIdentifier",
"src": "13439:3:1"
},
"nativeSrc": "13439:12:1",
"nodeType": "YulFunctionCall",
"src": "13439:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "13434:1:1",
"nodeType": "YulIdentifier",
"src": "13434:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "13413:3:1",
"nodeType": "YulBlock",
"src": "13413:3:1",
"statements": []
},
"src": "13409:208:1"
},
{
"body": {
"nativeSrc": "13653:156:1",
"nodeType": "YulBlock",
"src": "13653:156:1",
"statements": [
{
"nativeSrc": "13671:43:1",
"nodeType": "YulVariableDeclaration",
"src": "13671:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "13698:3:1",
"nodeType": "YulIdentifier",
"src": "13698:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "13703:9:1",
"nodeType": "YulIdentifier",
"src": "13703:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13694:3:1",
"nodeType": "YulIdentifier",
"src": "13694:3:1"
},
"nativeSrc": "13694:19:1",
"nodeType": "YulFunctionCall",
"src": "13694:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "13688:5:1",
"nodeType": "YulIdentifier",
"src": "13688:5:1"
},
"nativeSrc": "13688:26:1",
"nodeType": "YulFunctionCall",
"src": "13688:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "13675:9:1",
"nodeType": "YulTypedName",
"src": "13675:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "13738:6:1",
"nodeType": "YulIdentifier",
"src": "13738:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "13765:9:1",
"nodeType": "YulIdentifier",
"src": "13765:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "13780:6:1",
"nodeType": "YulIdentifier",
"src": "13780:6:1"
},
{
"kind": "number",
"nativeSrc": "13788:4:1",
"nodeType": "YulLiteral",
"src": "13788:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "13776:3:1",
"nodeType": "YulIdentifier",
"src": "13776:3:1"
},
"nativeSrc": "13776:17:1",
"nodeType": "YulFunctionCall",
"src": "13776:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "13746:18:1",
"nodeType": "YulIdentifier",
"src": "13746:18:1"
},
"nativeSrc": "13746:48:1",
"nodeType": "YulFunctionCall",
"src": "13746:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "13731:6:1",
"nodeType": "YulIdentifier",
"src": "13731:6:1"
},
"nativeSrc": "13731:64:1",
"nodeType": "YulFunctionCall",
"src": "13731:64:1"
},
"nativeSrc": "13731:64:1",
"nodeType": "YulExpressionStatement",
"src": "13731:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "13636:7:1",
"nodeType": "YulIdentifier",
"src": "13636:7:1"
},
{
"name": "newLen",
"nativeSrc": "13645:6:1",
"nodeType": "YulIdentifier",
"src": "13645:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "13633:2:1",
"nodeType": "YulIdentifier",
"src": "13633:2:1"
},
"nativeSrc": "13633:19:1",
"nodeType": "YulFunctionCall",
"src": "13633:19:1"
},
"nativeSrc": "13630:179:1",
"nodeType": "YulIf",
"src": "13630:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "13829:4:1",
"nodeType": "YulIdentifier",
"src": "13829:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "13843:6:1",
"nodeType": "YulIdentifier",
"src": "13843:6:1"
},
{
"kind": "number",
"nativeSrc": "13851:1:1",
"nodeType": "YulLiteral",
"src": "13851:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "13839:3:1",
"nodeType": "YulIdentifier",
"src": "13839:3:1"
},
"nativeSrc": "13839:14:1",
"nodeType": "YulFunctionCall",
"src": "13839:14:1"
},
{
"kind": "number",
"nativeSrc": "13855:1:1",
"nodeType": "YulLiteral",
"src": "13855:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13835:3:1",
"nodeType": "YulIdentifier",
"src": "13835:3:1"
},
"nativeSrc": "13835:22:1",
"nodeType": "YulFunctionCall",
"src": "13835:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "13822:6:1",
"nodeType": "YulIdentifier",
"src": "13822:6:1"
},
"nativeSrc": "13822:36:1",
"nodeType": "YulFunctionCall",
"src": "13822:36:1"
},
"nativeSrc": "13822:36:1",
"nodeType": "YulExpressionStatement",
"src": "13822:36:1"
}
]
},
"nativeSrc": "13250:618:1",
"nodeType": "YulCase",
"src": "13250:618:1",
"value": {
"kind": "number",
"nativeSrc": "13255:1:1",
"nodeType": "YulLiteral",
"src": "13255:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "13885:222:1",
"nodeType": "YulBlock",
"src": "13885:222:1",
"statements": [
{
"nativeSrc": "13899:14:1",
"nodeType": "YulVariableDeclaration",
"src": "13899:14:1",
"value": {
"kind": "number",
"nativeSrc": "13912:1:1",
"nodeType": "YulLiteral",
"src": "13912:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "13903:5:1",
"nodeType": "YulTypedName",
"src": "13903:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "13936:67:1",
"nodeType": "YulBlock",
"src": "13936:67:1",
"statements": [
{
"nativeSrc": "13954:35:1",
"nodeType": "YulAssignment",
"src": "13954:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "13973:3:1",
"nodeType": "YulIdentifier",
"src": "13973:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "13978:9:1",
"nodeType": "YulIdentifier",
"src": "13978:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13969:3:1",
"nodeType": "YulIdentifier",
"src": "13969:3:1"
},
"nativeSrc": "13969:19:1",
"nodeType": "YulFunctionCall",
"src": "13969:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "13963:5:1",
"nodeType": "YulIdentifier",
"src": "13963:5:1"
},
"nativeSrc": "13963:26:1",
"nodeType": "YulFunctionCall",
"src": "13963:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "13954:5:1",
"nodeType": "YulIdentifier",
"src": "13954:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "13929:6:1",
"nodeType": "YulIdentifier",
"src": "13929:6:1"
},
"nativeSrc": "13926:77:1",
"nodeType": "YulIf",
"src": "13926:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "14023:4:1",
"nodeType": "YulIdentifier",
"src": "14023:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "14082:5:1",
"nodeType": "YulIdentifier",
"src": "14082:5:1"
},
{
"name": "newLen",
"nativeSrc": "14089:6:1",
"nodeType": "YulIdentifier",
"src": "14089:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "14029:52:1",
"nodeType": "YulIdentifier",
"src": "14029:52:1"
},
"nativeSrc": "14029:67:1",
"nodeType": "YulFunctionCall",
"src": "14029:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "14016:6:1",
"nodeType": "YulIdentifier",
"src": "14016:6:1"
},
"nativeSrc": "14016:81:1",
"nodeType": "YulFunctionCall",
"src": "14016:81:1"
},
"nativeSrc": "14016:81:1",
"nodeType": "YulExpressionStatement",
"src": "14016:81:1"
}
]
},
"nativeSrc": "13877:230:1",
"nodeType": "YulCase",
"src": "13877:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "13230:6:1",
"nodeType": "YulIdentifier",
"src": "13230:6:1"
},
{
"kind": "number",
"nativeSrc": "13238:2:1",
"nodeType": "YulLiteral",
"src": "13238:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "13227:2:1",
"nodeType": "YulIdentifier",
"src": "13227:2:1"
},
"nativeSrc": "13227:14:1",
"nodeType": "YulFunctionCall",
"src": "13227:14:1"
},
"nativeSrc": "13220:887:1",
"nodeType": "YulSwitch",
"src": "13220:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "12718:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "12799:4:1",
"nodeType": "YulTypedName",
"src": "12799:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "12805:3:1",
"nodeType": "YulTypedName",
"src": "12805:3:1",
"type": ""
}
],
"src": "12718:1395:1"
},
{
"body": {
"nativeSrc": "14233:34:1",
"nodeType": "YulBlock",
"src": "14233:34:1",
"statements": [
{
"nativeSrc": "14243:18:1",
"nodeType": "YulAssignment",
"src": "14243:18:1",
"value": {
"name": "pos",
"nativeSrc": "14258:3:1",
"nodeType": "YulIdentifier",
"src": "14258:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "14243:11:1",
"nodeType": "YulIdentifier",
"src": "14243:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "14119:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "14205:3:1",
"nodeType": "YulTypedName",
"src": "14205:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "14210:6:1",
"nodeType": "YulTypedName",
"src": "14210:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "14221:11:1",
"nodeType": "YulTypedName",
"src": "14221:11:1",
"type": ""
}
],
"src": "14119:148:1"
},
{
"body": {
"nativeSrc": "14383:280:1",
"nodeType": "YulBlock",
"src": "14383:280:1",
"statements": [
{
"nativeSrc": "14393:53:1",
"nodeType": "YulVariableDeclaration",
"src": "14393:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "14440:5:1",
"nodeType": "YulIdentifier",
"src": "14440:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "14407:32:1",
"nodeType": "YulIdentifier",
"src": "14407:32:1"
},
"nativeSrc": "14407:39:1",
"nodeType": "YulFunctionCall",
"src": "14407:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "14397:6:1",
"nodeType": "YulTypedName",
"src": "14397:6:1",
"type": ""
}
]
},
{
"nativeSrc": "14455:96:1",
"nodeType": "YulAssignment",
"src": "14455:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14539:3:1",
"nodeType": "YulIdentifier",
"src": "14539:3:1"
},
{
"name": "length",
"nativeSrc": "14544:6:1",
"nodeType": "YulIdentifier",
"src": "14544:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "14462:76:1",
"nodeType": "YulIdentifier",
"src": "14462:76:1"
},
"nativeSrc": "14462:89:1",
"nodeType": "YulFunctionCall",
"src": "14462:89:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "14455:3:1",
"nodeType": "YulIdentifier",
"src": "14455:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "14599:5:1",
"nodeType": "YulIdentifier",
"src": "14599:5:1"
},
{
"kind": "number",
"nativeSrc": "14606:4:1",
"nodeType": "YulLiteral",
"src": "14606:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14595:3:1",
"nodeType": "YulIdentifier",
"src": "14595:3:1"
},
"nativeSrc": "14595:16:1",
"nodeType": "YulFunctionCall",
"src": "14595:16:1"
},
{
"name": "pos",
"nativeSrc": "14613:3:1",
"nodeType": "YulIdentifier",
"src": "14613:3:1"
},
{
"name": "length",
"nativeSrc": "14618:6:1",
"nodeType": "YulIdentifier",
"src": "14618:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "14560:34:1",
"nodeType": "YulIdentifier",
"src": "14560:34:1"
},
"nativeSrc": "14560:65:1",
"nodeType": "YulFunctionCall",
"src": "14560:65:1"
},
"nativeSrc": "14560:65:1",
"nodeType": "YulExpressionStatement",
"src": "14560:65:1"
},
{
"nativeSrc": "14634:23:1",
"nodeType": "YulAssignment",
"src": "14634:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14645:3:1",
"nodeType": "YulIdentifier",
"src": "14645:3:1"
},
{
"name": "length",
"nativeSrc": "14650:6:1",
"nodeType": "YulIdentifier",
"src": "14650:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14641:3:1",
"nodeType": "YulIdentifier",
"src": "14641:3:1"
},
"nativeSrc": "14641:16:1",
"nodeType": "YulFunctionCall",
"src": "14641:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "14634:3:1",
"nodeType": "YulIdentifier",
"src": "14634:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "14273:390:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "14364:5:1",
"nodeType": "YulTypedName",
"src": "14364:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "14371:3:1",
"nodeType": "YulTypedName",
"src": "14371:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "14379:3:1",
"nodeType": "YulTypedName",
"src": "14379:3:1",
"type": ""
}
],
"src": "14273:390:1"
},
{
"body": {
"nativeSrc": "14805:139:1",
"nodeType": "YulBlock",
"src": "14805:139:1",
"statements": [
{
"nativeSrc": "14816:102:1",
"nodeType": "YulAssignment",
"src": "14816:102:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "14905:6:1",
"nodeType": "YulIdentifier",
"src": "14905:6:1"
},
{
"name": "pos",
"nativeSrc": "14914:3:1",
"nodeType": "YulIdentifier",
"src": "14914:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "14823:81:1",
"nodeType": "YulIdentifier",
"src": "14823:81:1"
},
"nativeSrc": "14823:95:1",
"nodeType": "YulFunctionCall",
"src": "14823:95:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "14816:3:1",
"nodeType": "YulIdentifier",
"src": "14816:3:1"
}
]
},
{
"nativeSrc": "14928:10:1",
"nodeType": "YulAssignment",
"src": "14928:10:1",
"value": {
"name": "pos",
"nativeSrc": "14935:3:1",
"nodeType": "YulIdentifier",
"src": "14935:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "14928:3:1",
"nodeType": "YulIdentifier",
"src": "14928:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "14669:275:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "14784:3:1",
"nodeType": "YulTypedName",
"src": "14784:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "14790:6:1",
"nodeType": "YulTypedName",
"src": "14790:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "14801:3:1",
"nodeType": "YulTypedName",
"src": "14801:3:1",
"type": ""
}
],
"src": "14669:275:1"
},
{
"body": {
"nativeSrc": "14978:152:1",
"nodeType": "YulBlock",
"src": "14978:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "14995:1:1",
"nodeType": "YulLiteral",
"src": "14995:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "14998:77:1",
"nodeType": "YulLiteral",
"src": "14998:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14988:6:1",
"nodeType": "YulIdentifier",
"src": "14988:6:1"
},
"nativeSrc": "14988:88:1",
"nodeType": "YulFunctionCall",
"src": "14988:88:1"
},
"nativeSrc": "14988:88:1",
"nodeType": "YulExpressionStatement",
"src": "14988:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "15092:1:1",
"nodeType": "YulLiteral",
"src": "15092:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "15095:4:1",
"nodeType": "YulLiteral",
"src": "15095:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15085:6:1",
"nodeType": "YulIdentifier",
"src": "15085:6:1"
},
"nativeSrc": "15085:15:1",
"nodeType": "YulFunctionCall",
"src": "15085:15:1"
},
"nativeSrc": "15085:15:1",
"nodeType": "YulExpressionStatement",
"src": "15085:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "15116:1:1",
"nodeType": "YulLiteral",
"src": "15116:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "15119:4:1",
"nodeType": "YulLiteral",
"src": "15119:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "15109:6:1",
"nodeType": "YulIdentifier",
"src": "15109:6:1"
},
"nativeSrc": "15109:15:1",
"nodeType": "YulFunctionCall",
"src": "15109:15:1"
},
"nativeSrc": "15109:15:1",
"nodeType": "YulExpressionStatement",
"src": "15109:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "14950:180:1",
"nodeType": "YulFunctionDefinition",
"src": "14950:180:1"
},
{
"body": {
"nativeSrc": "15184:362:1",
"nodeType": "YulBlock",
"src": "15184:362:1",
"statements": [
{
"nativeSrc": "15194:25:1",
"nodeType": "YulAssignment",
"src": "15194:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "15217:1:1",
"nodeType": "YulIdentifier",
"src": "15217:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15199:17:1",
"nodeType": "YulIdentifier",
"src": "15199:17:1"
},
"nativeSrc": "15199:20:1",
"nodeType": "YulFunctionCall",
"src": "15199:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "15194:1:1",
"nodeType": "YulIdentifier",
"src": "15194:1:1"
}
]
},
{
"nativeSrc": "15228:25:1",
"nodeType": "YulAssignment",
"src": "15228:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "15251:1:1",
"nodeType": "YulIdentifier",
"src": "15251:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15233:17:1",
"nodeType": "YulIdentifier",
"src": "15233:17:1"
},
"nativeSrc": "15233:20:1",
"nodeType": "YulFunctionCall",
"src": "15233:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "15228:1:1",
"nodeType": "YulIdentifier",
"src": "15228:1:1"
}
]
},
{
"nativeSrc": "15262:28:1",
"nodeType": "YulVariableDeclaration",
"src": "15262:28:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "15285:1:1",
"nodeType": "YulIdentifier",
"src": "15285:1:1"
},
{
"name": "y",
"nativeSrc": "15288:1:1",
"nodeType": "YulIdentifier",
"src": "15288:1:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "15281:3:1",
"nodeType": "YulIdentifier",
"src": "15281:3:1"
},
"nativeSrc": "15281:9:1",
"nodeType": "YulFunctionCall",
"src": "15281:9:1"
},
"variables": [
{
"name": "product_raw",
"nativeSrc": "15266:11:1",
"nodeType": "YulTypedName",
"src": "15266:11:1",
"type": ""
}
]
},
{
"nativeSrc": "15299:41:1",
"nodeType": "YulAssignment",
"src": "15299:41:1",
"value": {
"arguments": [
{
"name": "product_raw",
"nativeSrc": "15328:11:1",
"nodeType": "YulIdentifier",
"src": "15328:11:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15310:17:1",
"nodeType": "YulIdentifier",
"src": "15310:17:1"
},
"nativeSrc": "15310:30:1",
"nodeType": "YulFunctionCall",
"src": "15310:30:1"
},
"variableNames": [
{
"name": "product",
"nativeSrc": "15299:7:1",
"nodeType": "YulIdentifier",
"src": "15299:7:1"
}
]
},
{
"body": {
"nativeSrc": "15517:22:1",
"nodeType": "YulBlock",
"src": "15517:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "15519:16:1",
"nodeType": "YulIdentifier",
"src": "15519:16:1"
},
"nativeSrc": "15519:18:1",
"nodeType": "YulFunctionCall",
"src": "15519:18:1"
},
"nativeSrc": "15519:18:1",
"nodeType": "YulExpressionStatement",
"src": "15519:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nativeSrc": "15450:1:1",
"nodeType": "YulIdentifier",
"src": "15450:1:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "15443:6:1",
"nodeType": "YulIdentifier",
"src": "15443:6:1"
},
"nativeSrc": "15443:9:1",
"nodeType": "YulFunctionCall",
"src": "15443:9:1"
},
{
"arguments": [
{
"name": "y",
"nativeSrc": "15473:1:1",
"nodeType": "YulIdentifier",
"src": "15473:1:1"
},
{
"arguments": [
{
"name": "product",
"nativeSrc": "15480:7:1",
"nodeType": "YulIdentifier",
"src": "15480:7:1"
},
{
"name": "x",
"nativeSrc": "15489:1:1",
"nodeType": "YulIdentifier",
"src": "15489:1:1"
}
],
"functionName": {
"name": "div",
"nativeSrc": "15476:3:1",
"nodeType": "YulIdentifier",
"src": "15476:3:1"
},
"nativeSrc": "15476:15:1",
"nodeType": "YulFunctionCall",
"src": "15476:15:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "15470:2:1",
"nodeType": "YulIdentifier",
"src": "15470:2:1"
},
"nativeSrc": "15470:22:1",
"nodeType": "YulFunctionCall",
"src": "15470:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "15423:2:1",
"nodeType": "YulIdentifier",
"src": "15423:2:1"
},
"nativeSrc": "15423:83:1",
"nodeType": "YulFunctionCall",
"src": "15423:83:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "15403:6:1",
"nodeType": "YulIdentifier",
"src": "15403:6:1"
},
"nativeSrc": "15403:113:1",
"nodeType": "YulFunctionCall",
"src": "15403:113:1"
},
"nativeSrc": "15400:139:1",
"nodeType": "YulIf",
"src": "15400:139:1"
}
]
},
"name": "checked_mul_t_uint256",
"nativeSrc": "15136:410:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "15167:1:1",
"nodeType": "YulTypedName",
"src": "15167:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "15170:1:1",
"nodeType": "YulTypedName",
"src": "15170:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nativeSrc": "15176:7:1",
"nodeType": "YulTypedName",
"src": "15176:7:1",
"type": ""
}
],
"src": "15136:410:1"
},
{
"body": {
"nativeSrc": "15580:152:1",
"nodeType": "YulBlock",
"src": "15580:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "15597:1:1",
"nodeType": "YulLiteral",
"src": "15597:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "15600:77:1",
"nodeType": "YulLiteral",
"src": "15600:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15590:6:1",
"nodeType": "YulIdentifier",
"src": "15590:6:1"
},
"nativeSrc": "15590:88:1",
"nodeType": "YulFunctionCall",
"src": "15590:88:1"
},
"nativeSrc": "15590:88:1",
"nodeType": "YulExpressionStatement",
"src": "15590:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "15694:1:1",
"nodeType": "YulLiteral",
"src": "15694:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "15697:4:1",
"nodeType": "YulLiteral",
"src": "15697:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15687:6:1",
"nodeType": "YulIdentifier",
"src": "15687:6:1"
},
"nativeSrc": "15687:15:1",
"nodeType": "YulFunctionCall",
"src": "15687:15:1"
},
"nativeSrc": "15687:15:1",
"nodeType": "YulExpressionStatement",
"src": "15687:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "15718:1:1",
"nodeType": "YulLiteral",
"src": "15718:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "15721:4:1",
"nodeType": "YulLiteral",
"src": "15721:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "15711:6:1",
"nodeType": "YulIdentifier",
"src": "15711:6:1"
},
"nativeSrc": "15711:15:1",
"nodeType": "YulFunctionCall",
"src": "15711:15:1"
},
"nativeSrc": "15711:15:1",
"nodeType": "YulExpressionStatement",
"src": "15711:15:1"
}
]
},
"name": "panic_error_0x32",
"nativeSrc": "15552:180:1",
"nodeType": "YulFunctionDefinition",
"src": "15552:180:1"
},
{
"body": {
"nativeSrc": "15782:147:1",
"nodeType": "YulBlock",
"src": "15782:147:1",
"statements": [
{
"nativeSrc": "15792:25:1",
"nodeType": "YulAssignment",
"src": "15792:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "15815:1:1",
"nodeType": "YulIdentifier",
"src": "15815:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15797:17:1",
"nodeType": "YulIdentifier",
"src": "15797:17:1"
},
"nativeSrc": "15797:20:1",
"nodeType": "YulFunctionCall",
"src": "15797:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "15792:1:1",
"nodeType": "YulIdentifier",
"src": "15792:1:1"
}
]
},
{
"nativeSrc": "15826:25:1",
"nodeType": "YulAssignment",
"src": "15826:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "15849:1:1",
"nodeType": "YulIdentifier",
"src": "15849:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15831:17:1",
"nodeType": "YulIdentifier",
"src": "15831:17:1"
},
"nativeSrc": "15831:20:1",
"nodeType": "YulFunctionCall",
"src": "15831:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "15826:1:1",
"nodeType": "YulIdentifier",
"src": "15826:1:1"
}
]
},
{
"nativeSrc": "15860:16:1",
"nodeType": "YulAssignment",
"src": "15860:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "15871:1:1",
"nodeType": "YulIdentifier",
"src": "15871:1:1"
},
{
"name": "y",
"nativeSrc": "15874:1:1",
"nodeType": "YulIdentifier",
"src": "15874:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15867:3:1",
"nodeType": "YulIdentifier",
"src": "15867:3:1"
},
"nativeSrc": "15867:9:1",
"nodeType": "YulFunctionCall",
"src": "15867:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "15860:3:1",
"nodeType": "YulIdentifier",
"src": "15860:3:1"
}
]
},
{
"body": {
"nativeSrc": "15900:22:1",
"nodeType": "YulBlock",
"src": "15900:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "15902:16:1",
"nodeType": "YulIdentifier",
"src": "15902:16:1"
},
"nativeSrc": "15902:18:1",
"nodeType": "YulFunctionCall",
"src": "15902:18:1"
},
"nativeSrc": "15902:18:1",
"nodeType": "YulExpressionStatement",
"src": "15902:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "15892:1:1",
"nodeType": "YulIdentifier",
"src": "15892:1:1"
},
{
"name": "sum",
"nativeSrc": "15895:3:1",
"nodeType": "YulIdentifier",
"src": "15895:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "15889:2:1",
"nodeType": "YulIdentifier",
"src": "15889:2:1"
},
"nativeSrc": "15889:10:1",
"nodeType": "YulFunctionCall",
"src": "15889:10:1"
},
"nativeSrc": "15886:36:1",
"nodeType": "YulIf",
"src": "15886:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "15738:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "15769:1:1",
"nodeType": "YulTypedName",
"src": "15769:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "15772:1:1",
"nodeType": "YulTypedName",
"src": "15772:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "15778:3:1",
"nodeType": "YulTypedName",
"src": "15778:3:1",
"type": ""
}
],
"src": "15738:191:1"
}
]
},
"contents": "{\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_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_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\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 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 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 abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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 array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_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_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_uint256t_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_uint256(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 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 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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b50600436106100cd575f3560e01c80636b8ff5741161008a57806385014c9e1161006457806385014c9e146101f9578063cd838f0f14610229578063ef9fc50b14610247578063f2c9ecd814610263576100cd565b80636b8ff574146101915780637ba1eab3146101c15780638151b2f5146101dd576100cd565b806307391dd6146100d157806311456b47146100ed57806314b3ee68146101095780631603954014610139578063273ea3e31461016957806335f6690814610173575b5f80fd5b6100eb60048036038101906100e69190610562565b610281565b005b610107600480360381019061010291906106c9565b61028a565b005b610123600480360381019061011e91906106c9565b6102bf565b604051610130919061071f565b60405180910390f35b610153600480360381019061014e9190610562565b6102e6565b604051610160919061071f565b60405180910390f35b6101716102fb565b005b61017b610307565b604051610188919061071f565b60405180910390f35b6101ab60048036038101906101a69190610562565b610313565b6040516101b891906107b2565b60405180910390f35b6101db60048036038101906101d691906107d2565b6103bf565b005b6101f760048036038101906101f29190610562565b6103e6565b005b610213600480360381019061020e91906106c9565b610400565b604051610220919061071f565b60405180910390f35b61023161042d565b60405161023e919061092f565b60405180910390f35b610261600480360381019061025c919061094f565b610501565b005b61026b610516565b604051610278919061071f565b60405180910390f35b805f8190555050565b600181908060018154018082558091505060019003905f5260205f20015f9091909190915090816102bb9190610b87565b5050565b5f6002826040516102d09190610c90565b9081526020016040518091039020549050919050565b5f815f546102f49190610cd3565b9050919050565b61030560016103e6565b565b5f600180549050905090565b60606001828154811061032957610328610d14565b5b905f5260205f2001805461033c906109ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610368906109ba565b80156103b35780601f1061038a576101008083540402835291602001916103b3565b820191905f5260205f20905b81548152906001019060200180831161039657829003601f168201915b50505050509050919050565b806002836040516103d09190610c90565b9081526020016040518091039020819055505050565b805f808282546103f69190610d41565b9250508190555050565b6002818051602081018201805184825260208301602085012081835280955050505050505f915090505481565b60606001805480602002602001604051908101604052809291908181526020015f905b828210156104f8578382905f5260205f2001805461046d906109ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610499906109ba565b80156104e45780601f106104bb576101008083540402835291602001916104e4565b820191905f5260205f20905b8154815290600101906020018083116104c757829003601f168201915b505050505081526020019060010190610450565b50505050905090565b808261050d9190610d41565b5f819055505050565b5f8054905090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6105418161052f565b811461054b575f80fd5b50565b5f8135905061055c81610538565b92915050565b5f6020828403121561057757610576610527565b5b5f6105848482850161054e565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105db82610595565b810181811067ffffffffffffffff821117156105fa576105f96105a5565b5b80604052505050565b5f61060c61051e565b905061061882826105d2565b919050565b5f67ffffffffffffffff821115610637576106366105a5565b5b61064082610595565b9050602081019050919050565b828183375f83830152505050565b5f61066d6106688461061d565b610603565b90508281526020810184848401111561068957610688610591565b5b61069484828561064d565b509392505050565b5f82601f8301126106b0576106af61058d565b5b81356106c084826020860161065b565b91505092915050565b5f602082840312156106de576106dd610527565b5b5f82013567ffffffffffffffff8111156106fb576106fa61052b565b5b6107078482850161069c565b91505092915050565b6107198161052f565b82525050565b5f6020820190506107325f830184610710565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561076f578082015181840152602081019050610754565b5f8484015250505050565b5f61078482610738565b61078e8185610742565b935061079e818560208601610752565b6107a781610595565b840191505092915050565b5f6020820190508181035f8301526107ca818461077a565b905092915050565b5f80604083850312156107e8576107e7610527565b5b5f83013567ffffffffffffffff8111156108055761080461052b565b5b6108118582860161069c565b92505060206108228582860161054e565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f61086f82610738565b6108798185610855565b9350610889818560208601610752565b61089281610595565b840191505092915050565b5f6108a88383610865565b905092915050565b5f602082019050919050565b5f6108c68261082c565b6108d08185610836565b9350836020820285016108e285610846565b805f5b8581101561091d57848403895281516108fe858261089d565b9450610909836108b0565b925060208a019950506001810190506108e5565b50829750879550505050505092915050565b5f6020820190508181035f83015261094781846108bc565b905092915050565b5f806040838503121561096557610964610527565b5b5f6109728582860161054e565b92505060206109838582860161054e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806109d157607f821691505b6020821081036109e4576109e361098d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610a467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610a0b565b610a508683610a0b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610a8b610a86610a818461052f565b610a68565b61052f565b9050919050565b5f819050919050565b610aa483610a71565b610ab8610ab082610a92565b848454610a17565b825550505050565b5f90565b610acc610ac0565b610ad7818484610a9b565b505050565b5b81811015610afa57610aef5f82610ac4565b600181019050610add565b5050565b601f821115610b3f57610b10816109ea565b610b19846109fc565b81016020851015610b28578190505b610b3c610b34856109fc565b830182610adc565b50505b505050565b5f82821c905092915050565b5f610b5f5f1984600802610b44565b1980831691505092915050565b5f610b778383610b50565b9150826002028217905092915050565b610b9082610738565b67ffffffffffffffff811115610ba957610ba86105a5565b5b610bb382546109ba565b610bbe828285610afe565b5f60209050601f831160018114610bef575f8415610bdd578287015190505b610be78582610b6c565b865550610c4e565b601f198416610bfd866109ea565b5f5b82811015610c2457848901518255600182019150602085019450602081019050610bff565b86831015610c415784890151610c3d601f891682610b50565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f610c6a82610738565b610c748185610c56565b9350610c84818560208601610752565b80840191505092915050565b5f610c9b8284610c60565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610cdd8261052f565b9150610ce88361052f565b9250828202610cf68161052f565b91508282048414831517610d0d57610d0c610ca6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f610d4b8261052f565b9150610d568361052f565b9250828201905080821115610d6e57610d6d610ca6565b5b9291505056fea264697066735822122089663688294c28e3f46bb299711fdf8fd913c48bb7985814ab44237a1432ac1664736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCD JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6B8FF574 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0x85014C9E GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x85014C9E EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xCD838F0F EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xEF9FC50B EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0xF2C9ECD8 EQ PUSH2 0x263 JUMPI PUSH2 0xCD JUMP JUMPDEST DUP1 PUSH4 0x6B8FF574 EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x7BA1EAB3 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8151B2F5 EQ PUSH2 0x1DD JUMPI PUSH2 0xCD JUMP JUMPDEST DUP1 PUSH4 0x7391DD6 EQ PUSH2 0xD1 JUMPI DUP1 PUSH4 0x11456B47 EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x14B3EE68 EQ PUSH2 0x109 JUMPI DUP1 PUSH4 0x16039540 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0x273EA3E3 EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x35F66908 EQ PUSH2 0x173 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xEB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE6 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x281 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x107 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x102 SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x123 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x11E SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x2BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x130 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x2E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x160 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x171 PUSH2 0x2FB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17B PUSH2 0x307 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x7B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x7D2 JUMP JUMPDEST PUSH2 0x3BF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x562 JUMP JUMPDEST PUSH2 0x3E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x213 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20E SWAP2 SWAP1 PUSH2 0x6C9 JUMP JUMPDEST PUSH2 0x400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x220 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x231 PUSH2 0x42D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x92F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x261 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25C SWAP2 SWAP1 PUSH2 0x94F JUMP JUMPDEST PUSH2 0x501 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26B PUSH2 0x516 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x71F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SWAP1 DUP2 PUSH2 0x2BB SWAP2 SWAP1 PUSH2 0xB87 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH0 SLOAD PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x305 PUSH1 0x1 PUSH2 0x3E6 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x329 JUMPI PUSH2 0x328 PUSH2 0xD14 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x33C SWAP1 PUSH2 0x9BA 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 0x368 SWAP1 PUSH2 0x9BA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B3 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 0x396 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3D0 SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x3F6 SWAP2 SWAP1 PUSH2 0xD41 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x4F8 JUMPI DUP4 DUP3 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x46D SWAP1 PUSH2 0x9BA 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 0x499 SWAP1 PUSH2 0x9BA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E4 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 0x4C7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x450 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 DUP3 PUSH2 0x50D SWAP2 SWAP1 PUSH2 0xD41 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x541 DUP2 PUSH2 0x52F JUMP JUMPDEST DUP2 EQ PUSH2 0x54B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55C DUP2 PUSH2 0x538 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x577 JUMPI PUSH2 0x576 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x584 DUP5 DUP3 DUP6 ADD PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x5DB DUP3 PUSH2 0x595 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5FA JUMPI PUSH2 0x5F9 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x60C PUSH2 0x51E JUMP JUMPDEST SWAP1 POP PUSH2 0x618 DUP3 DUP3 PUSH2 0x5D2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x637 JUMPI PUSH2 0x636 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST PUSH2 0x640 DUP3 PUSH2 0x595 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x66D PUSH2 0x668 DUP5 PUSH2 0x61D JUMP JUMPDEST PUSH2 0x603 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x689 JUMPI PUSH2 0x688 PUSH2 0x591 JUMP JUMPDEST JUMPDEST PUSH2 0x694 DUP5 DUP3 DUP6 PUSH2 0x64D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6B0 JUMPI PUSH2 0x6AF PUSH2 0x58D JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x6C0 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x65B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6DE JUMPI PUSH2 0x6DD PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x6FB JUMPI PUSH2 0x6FA PUSH2 0x52B JUMP JUMPDEST JUMPDEST PUSH2 0x707 DUP5 DUP3 DUP6 ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x52F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x732 PUSH0 DUP4 ADD DUP5 PUSH2 0x710 JUMP JUMPDEST SWAP3 SWAP2 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 0x76F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x754 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x784 DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0x78E DUP2 DUP6 PUSH2 0x742 JUMP JUMPDEST SWAP4 POP PUSH2 0x79E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST PUSH2 0x7A7 DUP2 PUSH2 0x595 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 0x7CA DUP2 DUP5 PUSH2 0x77A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7E8 JUMPI PUSH2 0x7E7 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x805 JUMPI PUSH2 0x804 PUSH2 0x52B JUMP JUMPDEST JUMPDEST PUSH2 0x811 DUP6 DUP3 DUP7 ADD PUSH2 0x69C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x822 DUP6 DUP3 DUP7 ADD PUSH2 0x54E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 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 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x86F DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0x879 DUP2 DUP6 PUSH2 0x855 JUMP JUMPDEST SWAP4 POP PUSH2 0x889 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST PUSH2 0x892 DUP2 PUSH2 0x595 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x8A8 DUP4 DUP4 PUSH2 0x865 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x8C6 DUP3 PUSH2 0x82C JUMP JUMPDEST PUSH2 0x8D0 DUP2 DUP6 PUSH2 0x836 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x8E2 DUP6 PUSH2 0x846 JUMP JUMPDEST DUP1 PUSH0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x91D JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x8FE DUP6 DUP3 PUSH2 0x89D JUMP JUMPDEST SWAP5 POP PUSH2 0x909 DUP4 PUSH2 0x8B0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x8E5 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x947 DUP2 DUP5 PUSH2 0x8BC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x965 JUMPI PUSH2 0x964 PUSH2 0x527 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x972 DUP6 DUP3 DUP7 ADD PUSH2 0x54E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x983 DUP6 DUP3 DUP7 ADD PUSH2 0x54E 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 0x9D1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x9E4 JUMPI PUSH2 0x9E3 PUSH2 0x98D 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 PUSH2 0xA46 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xA0B JUMP JUMPDEST PUSH2 0xA50 DUP7 DUP4 PUSH2 0xA0B 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 PUSH2 0xA8B PUSH2 0xA86 PUSH2 0xA81 DUP5 PUSH2 0x52F JUMP JUMPDEST PUSH2 0xA68 JUMP JUMPDEST PUSH2 0x52F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAA4 DUP4 PUSH2 0xA71 JUMP JUMPDEST PUSH2 0xAB8 PUSH2 0xAB0 DUP3 PUSH2 0xA92 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0xA17 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0xACC PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0xAD7 DUP2 DUP5 DUP5 PUSH2 0xA9B JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xAFA JUMPI PUSH2 0xAEF PUSH0 DUP3 PUSH2 0xAC4 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xADD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xB3F JUMPI PUSH2 0xB10 DUP2 PUSH2 0x9EA JUMP JUMPDEST PUSH2 0xB19 DUP5 PUSH2 0x9FC JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0xB28 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0xB3C PUSH2 0xB34 DUP6 PUSH2 0x9FC JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0xADC JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB5F PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0xB44 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xB77 DUP4 DUP4 PUSH2 0xB50 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB90 DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA9 JUMPI PUSH2 0xBA8 PUSH2 0x5A5 JUMP JUMPDEST JUMPDEST PUSH2 0xBB3 DUP3 SLOAD PUSH2 0x9BA JUMP JUMPDEST PUSH2 0xBBE DUP3 DUP3 DUP6 PUSH2 0xAFE JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0xBEF JUMPI PUSH0 DUP5 ISZERO PUSH2 0xBDD JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0xBE7 DUP6 DUP3 PUSH2 0xB6C JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0xC4E JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0xBFD DUP7 PUSH2 0x9EA JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xC24 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 PUSH2 0xBFF JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0xC41 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0xC3D PUSH1 0x1F DUP10 AND DUP3 PUSH2 0xB50 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 PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6A DUP3 PUSH2 0x738 JUMP JUMPDEST PUSH2 0xC74 DUP2 DUP6 PUSH2 0xC56 JUMP JUMPDEST SWAP4 POP PUSH2 0xC84 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x752 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC9B DUP3 DUP5 PUSH2 0xC60 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xCDD DUP3 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP PUSH2 0xCE8 DUP4 PUSH2 0x52F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xCF6 DUP2 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xD0D JUMPI PUSH2 0xD0C PUSH2 0xCA6 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xD4B DUP3 PUSH2 0x52F JUMP JUMPDEST SWAP2 POP PUSH2 0xD56 DUP4 PUSH2 0x52F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xD6E JUMPI PUSH2 0xD6D PUSH2 0xCA6 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP10 PUSH7 0x3688294C28E3F4 PUSH12 0xB299711FDF8FD913C48BB798 PC EQ 0xAB PREVRANDAO 0x23 PUSH27 0x1432AC1664736F6C63430008150033000000000000000000000000 ",
"sourceMap": "99:1290:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;216:73;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;758:79;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1083:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;540:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;465:69;;;:::i;:::-;;1205:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;843:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;952:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;382:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;165:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1300:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;656:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;295:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;216:73;278:4;269:6;:13;;;;216:73;:::o;758:79::-;813:5;824;813:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;758:79;:::o;1083:116::-;1150:4;1173:12;1186:5;1173:19;;;;;;:::i;:::-;;;;;;;;;;;;;;1166:26;;1083:116;;;:::o;540:110::-;604:7;639:4;630:6;;:13;;;;:::i;:::-;623:20;;540:110;;;:::o;465:69::-;509:18;525:1;509:15;:18::i;:::-;465:69::o;1205:89::-;1252:4;1275:5;:12;;;;1268:19;;1205:89;:::o;843:103::-;894:13;926:5;932:6;926:13;;;;;;;;:::i;:::-;;;;;;;;;919:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:103;;;:::o;952:125::-;1057:13;1035:12;1048:5;1035:19;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;952:125;;:::o;382:77::-;448:4;438:6;;:14;;;;;;;:::i;:::-;;;;;;;;382:77;:::o;165:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1300:87::-;1341:15;1375:5;1368:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1300:87;:::o;656:96::-;740:5;732;:13;;;;:::i;:::-;723:6;:22;;;;656:96;;:::o;295:81::-;337:7;363:6;;356:13;;295:81;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:117::-;1134:1;1131;1124:12;1148:117;1257:1;1254;1247:12;1271:102;1312:6;1363:2;1359:7;1354:2;1347:5;1343:14;1339:28;1329:38;;1271:102;;;:::o;1379:180::-;1427:77;1424:1;1417:88;1524:4;1521:1;1514:15;1548:4;1545:1;1538:15;1565:281;1648:27;1670:4;1648:27;:::i;:::-;1640:6;1636:40;1778:6;1766:10;1763:22;1742:18;1730:10;1727:34;1724:62;1721:88;;;1789:18;;:::i;:::-;1721:88;1829:10;1825:2;1818:22;1608:238;1565:281;;:::o;1852:129::-;1886:6;1913:20;;:::i;:::-;1903:30;;1942:33;1970:4;1962:6;1942:33;:::i;:::-;1852:129;;;:::o;1987:308::-;2049:4;2139:18;2131:6;2128:30;2125:56;;;2161:18;;:::i;:::-;2125:56;2199:29;2221:6;2199:29;:::i;:::-;2191:37;;2283:4;2277;2273:15;2265:23;;1987:308;;;:::o;2301:146::-;2398:6;2393:3;2388;2375:30;2439:1;2430:6;2425:3;2421:16;2414:27;2301:146;;;:::o;2453:425::-;2531:5;2556:66;2572:49;2614:6;2572:49;:::i;:::-;2556:66;:::i;:::-;2547:75;;2645:6;2638:5;2631:21;2683:4;2676:5;2672:16;2721:3;2712:6;2707:3;2703:16;2700:25;2697:112;;;2728:79;;:::i;:::-;2697:112;2818:54;2865:6;2860:3;2855;2818:54;:::i;:::-;2537:341;2453:425;;;;;:::o;2898:340::-;2954:5;3003:3;2996:4;2988:6;2984:17;2980:27;2970:122;;3011:79;;:::i;:::-;2970:122;3128:6;3115:20;3153:79;3228:3;3220:6;3213:4;3205:6;3201:17;3153:79;:::i;:::-;3144:88;;2960:278;2898:340;;;;:::o;3244:509::-;3313:6;3362:2;3350:9;3341:7;3337:23;3333:32;3330:119;;;3368:79;;:::i;:::-;3330:119;3516:1;3505:9;3501:17;3488:31;3546:18;3538:6;3535:30;3532:117;;;3568:79;;:::i;:::-;3532:117;3673:63;3728:7;3719:6;3708:9;3704:22;3673:63;:::i;:::-;3663:73;;3459:287;3244:509;;;;:::o;3759:118::-;3846:24;3864:5;3846:24;:::i;:::-;3841:3;3834:37;3759:118;;:::o;3883:222::-;3976:4;4014:2;4003:9;3999:18;3991:26;;4027:71;4095:1;4084:9;4080:17;4071:6;4027:71;:::i;:::-;3883:222;;;;:::o;4111:99::-;4163:6;4197:5;4191:12;4181:22;;4111:99;;;:::o;4216:169::-;4300:11;4334:6;4329:3;4322:19;4374:4;4369:3;4365:14;4350:29;;4216:169;;;;:::o;4391:246::-;4472:1;4482:113;4496:6;4493:1;4490:13;4482:113;;;4581:1;4576:3;4572:11;4566:18;4562:1;4557:3;4553:11;4546:39;4518:2;4515:1;4511:10;4506:15;;4482:113;;;4629:1;4620:6;4615:3;4611:16;4604:27;4453:184;4391:246;;;:::o;4643:377::-;4731:3;4759:39;4792:5;4759:39;:::i;:::-;4814:71;4878:6;4873:3;4814:71;:::i;:::-;4807:78;;4894:65;4952:6;4947:3;4940:4;4933:5;4929:16;4894:65;:::i;:::-;4984:29;5006:6;4984:29;:::i;:::-;4979:3;4975:39;4968:46;;4735:285;4643:377;;;;:::o;5026:313::-;5139:4;5177:2;5166:9;5162:18;5154:26;;5226:9;5220:4;5216:20;5212:1;5201:9;5197:17;5190:47;5254:78;5327:4;5318:6;5254:78;:::i;:::-;5246:86;;5026:313;;;;:::o;5345:654::-;5423:6;5431;5480:2;5468:9;5459:7;5455:23;5451:32;5448:119;;;5486:79;;:::i;:::-;5448:119;5634:1;5623:9;5619:17;5606:31;5664:18;5656:6;5653:30;5650:117;;;5686:79;;:::i;:::-;5650:117;5791:63;5846:7;5837:6;5826:9;5822:22;5791:63;:::i;:::-;5781:73;;5577:287;5903:2;5929:53;5974:7;5965:6;5954:9;5950:22;5929:53;:::i;:::-;5919:63;;5874:118;5345:654;;;;;:::o;6005:124::-;6082:6;6116:5;6110:12;6100:22;;6005:124;;;:::o;6135:194::-;6244:11;6278:6;6273:3;6266:19;6318:4;6313:3;6309:14;6294:29;;6135:194;;;;:::o;6335:142::-;6412:4;6435:3;6427:11;;6465:4;6460:3;6456:14;6448:22;;6335:142;;;:::o;6483:159::-;6557:11;6591:6;6586:3;6579:19;6631:4;6626:3;6622:14;6607:29;;6483:159;;;;:::o;6648:357::-;6726:3;6754:39;6787:5;6754:39;:::i;:::-;6809:61;6863:6;6858:3;6809:61;:::i;:::-;6802:68;;6879:65;6937:6;6932:3;6925:4;6918:5;6914:16;6879:65;:::i;:::-;6969:29;6991:6;6969:29;:::i;:::-;6964:3;6960:39;6953:46;;6730:275;6648:357;;;;:::o;7011:196::-;7100:10;7135:66;7197:3;7189:6;7135:66;:::i;:::-;7121:80;;7011:196;;;;:::o;7213:123::-;7293:4;7325;7320:3;7316:14;7308:22;;7213:123;;;:::o;7370:991::-;7509:3;7538:64;7596:5;7538:64;:::i;:::-;7618:96;7707:6;7702:3;7618:96;:::i;:::-;7611:103;;7740:3;7785:4;7777:6;7773:17;7768:3;7764:27;7815:66;7875:5;7815:66;:::i;:::-;7904:7;7935:1;7920:396;7945:6;7942:1;7939:13;7920:396;;;8016:9;8010:4;8006:20;8001:3;7994:33;8067:6;8061:13;8095:84;8174:4;8159:13;8095:84;:::i;:::-;8087:92;;8202:70;8265:6;8202:70;:::i;:::-;8192:80;;8301:4;8296:3;8292:14;8285:21;;7980:336;7967:1;7964;7960:9;7955:14;;7920:396;;;7924:14;8332:4;8325:11;;8352:3;8345:10;;7514:847;;;;;7370:991;;;;:::o;8367:413::-;8530:4;8568:2;8557:9;8553:18;8545:26;;8617:9;8611:4;8607:20;8603:1;8592:9;8588:17;8581:47;8645:128;8768:4;8759:6;8645:128;:::i;:::-;8637:136;;8367:413;;;;:::o;8786:474::-;8854:6;8862;8911:2;8899:9;8890:7;8886:23;8882:32;8879:119;;;8917:79;;:::i;:::-;8879:119;9037:1;9062:53;9107:7;9098:6;9087:9;9083:22;9062:53;:::i;:::-;9052:63;;9008:117;9164:2;9190:53;9235:7;9226:6;9215:9;9211:22;9190:53;:::i;:::-;9180:63;;9135:118;8786:474;;;;;:::o;9266:180::-;9314:77;9311:1;9304:88;9411:4;9408:1;9401:15;9435:4;9432:1;9425:15;9452:320;9496:6;9533:1;9527:4;9523:12;9513:22;;9580:1;9574:4;9570:12;9601:18;9591:81;;9657:4;9649:6;9645:17;9635:27;;9591:81;9719:2;9711:6;9708:14;9688:18;9685:38;9682:84;;9738:18;;:::i;:::-;9682:84;9503:269;9452:320;;;:::o;9778:141::-;9827:4;9850:3;9842:11;;9873:3;9870:1;9863:14;9907:4;9904:1;9894:18;9886:26;;9778:141;;;:::o;9925:93::-;9962:6;10009:2;10004;9997:5;9993:14;9989:23;9979:33;;9925:93;;;:::o;10024:107::-;10068:8;10118:5;10112:4;10108:16;10087:37;;10024:107;;;;:::o;10137:393::-;10206:6;10256:1;10244:10;10240:18;10279:97;10309:66;10298:9;10279:97;:::i;:::-;10397:39;10427:8;10416:9;10397:39;:::i;:::-;10385:51;;10469:4;10465:9;10458:5;10454:21;10445:30;;10518:4;10508:8;10504:19;10497:5;10494:30;10484:40;;10213:317;;10137:393;;;;;:::o;10536:60::-;10564:3;10585:5;10578:12;;10536:60;;;:::o;10602:142::-;10652:9;10685:53;10703:34;10712:24;10730:5;10712:24;:::i;:::-;10703:34;:::i;:::-;10685:53;:::i;:::-;10672:66;;10602:142;;;:::o;10750:75::-;10793:3;10814:5;10807:12;;10750:75;;;:::o;10831:269::-;10941:39;10972:7;10941:39;:::i;:::-;11002:91;11051:41;11075:16;11051:41;:::i;:::-;11043:6;11036:4;11030:11;11002:91;:::i;:::-;10996:4;10989:105;10907:193;10831:269;;;:::o;11106:73::-;11151:3;11106:73;:::o;11185:189::-;11262:32;;:::i;:::-;11303:65;11361:6;11353;11347:4;11303:65;:::i;:::-;11238:136;11185:189;;:::o;11380:186::-;11440:120;11457:3;11450:5;11447:14;11440:120;;;11511:39;11548:1;11541:5;11511:39;:::i;:::-;11484:1;11477:5;11473:13;11464:22;;11440:120;;;11380:186;;:::o;11572:543::-;11673:2;11668:3;11665:11;11662:446;;;11707:38;11739:5;11707:38;:::i;:::-;11791:29;11809:10;11791:29;:::i;:::-;11781:8;11777:44;11974:2;11962:10;11959:18;11956:49;;;11995:8;11980:23;;11956:49;12018:80;12074:22;12092:3;12074:22;:::i;:::-;12064:8;12060:37;12047:11;12018:80;:::i;:::-;11677:431;;11662:446;11572:543;;;:::o;12121:117::-;12175:8;12225:5;12219:4;12215:16;12194:37;;12121:117;;;;:::o;12244:169::-;12288:6;12321:51;12369:1;12365:6;12357:5;12354:1;12350:13;12321:51;:::i;:::-;12317:56;12402:4;12396;12392:15;12382:25;;12295:118;12244:169;;;;:::o;12418:295::-;12494:4;12640:29;12665:3;12659:4;12640:29;:::i;:::-;12632:37;;12702:3;12699:1;12695:11;12689:4;12686:21;12678:29;;12418:295;;;;:::o;12718:1395::-;12835:37;12868:3;12835:37;:::i;:::-;12937:18;12929:6;12926:30;12923:56;;;12959:18;;:::i;:::-;12923:56;13003:38;13035:4;13029:11;13003:38;:::i;:::-;13088:67;13148:6;13140;13134:4;13088:67;:::i;:::-;13182:1;13206:4;13193:17;;13238:2;13230:6;13227:14;13255:1;13250:618;;;;13912:1;13929:6;13926:77;;;13978:9;13973:3;13969:19;13963:26;13954:35;;13926:77;14029:67;14089:6;14082:5;14029:67;:::i;:::-;14023:4;14016:81;13885:222;13220:887;;13250:618;13302:4;13298:9;13290:6;13286:22;13336:37;13368:4;13336:37;:::i;:::-;13395:1;13409:208;13423:7;13420:1;13417:14;13409:208;;;13502:9;13497:3;13493:19;13487:26;13479:6;13472:42;13553:1;13545:6;13541:14;13531:24;;13600:2;13589:9;13585:18;13572:31;;13446:4;13443:1;13439:12;13434:17;;13409:208;;;13645:6;13636:7;13633:19;13630:179;;;13703:9;13698:3;13694:19;13688:26;13746:48;13788:4;13780:6;13776:17;13765:9;13746:48;:::i;:::-;13738:6;13731:64;13653:156;13630:179;13855:1;13851;13843:6;13839:14;13835:22;13829:4;13822:36;13257:611;;;13220:887;;12810:1303;;;12718:1395;;:::o;14119:148::-;14221:11;14258:3;14243:18;;14119:148;;;;:::o;14273:390::-;14379:3;14407:39;14440:5;14407:39;:::i;:::-;14462:89;14544:6;14539:3;14462:89;:::i;:::-;14455:96;;14560:65;14618:6;14613:3;14606:4;14599:5;14595:16;14560:65;:::i;:::-;14650:6;14645:3;14641:16;14634:23;;14383:280;14273:390;;;;:::o;14669:275::-;14801:3;14823:95;14914:3;14905:6;14823:95;:::i;:::-;14816:102;;14935:3;14928:10;;14669:275;;;;:::o;14950:180::-;14998:77;14995:1;14988:88;15095:4;15092:1;15085:15;15119:4;15116:1;15109:15;15136:410;15176:7;15199:20;15217:1;15199:20;:::i;:::-;15194:25;;15233:20;15251:1;15233:20;:::i;:::-;15228:25;;15288:1;15285;15281:9;15310:30;15328:11;15310:30;:::i;:::-;15299:41;;15489:1;15480:7;15476:15;15473:1;15470:22;15450:1;15443:9;15423:83;15400:139;;15519:18;;:::i;:::-;15400:139;15184:362;15136:410;;;;:::o;15552:180::-;15600:77;15597:1;15590:88;15697:4;15694:1;15687:15;15721:4;15718:1;15711:15;15738:191;15778:3;15797:20;15815:1;15797:20;:::i;:::-;15792:25;;15831:20;15849:1;15831:20;:::i;:::-;15826:25;;15874:1;15871;15867:9;15860:16;;15895:3;15892:1;15889:10;15886:36;;;15902:18;;:::i;:::-;15886:36;15738:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "699600",
"executionCost": "732",
"totalCost": "700332"
},
"external": {
"addMobileNumber(string,uint256)": "infinite",
"addName(string)": "infinite",
"addNumbers(uint256,uint256)": "infinite",
"changeNumber(uint256)": "22515",
"getMobileNumber(string)": "infinite",
"getName(uint256)": "infinite",
"getNames()": "infinite",
"getNamesLength()": "2551",
"getNumber()": "2520",
"getNumberMultiplied(uint256)": "infinite",
"incrementNumber()": "infinite",
"incrementNumber(uint256)": "infinite",
"phoneNumbers(string)": "infinite"
}
},
"methodIdentifiers": {
"addMobileNumber(string,uint256)": "7ba1eab3",
"addName(string)": "11456b47",
"addNumbers(uint256,uint256)": "ef9fc50b",
"changeNumber(uint256)": "07391dd6",
"getMobileNumber(string)": "14b3ee68",
"getName(uint256)": "6b8ff574",
"getNames()": "cd838f0f",
"getNamesLength()": "35f66908",
"getNumber()": "f2c9ecd8",
"getNumberMultiplied(uint256)": "16039540",
"incrementNumber()": "273ea3e3",
"incrementNumber(uint256)": "8151b2f5",
"phoneNumbers(string)": "85014c9e"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_mobileNumber",
"type": "uint256"
}
],
"name": "addMobileNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "addName",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_num2",
"type": "uint256"
}
],
"name": "addNumbers",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "changeNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "getMobileNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "getName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNames",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNamesLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "getNumberMultiplied",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "incrementNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "incrementNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "phoneNumbers",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_mobileNumber",
"type": "uint256"
}
],
"name": "addMobileNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "addName",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_num2",
"type": "uint256"
}
],
"name": "addNumbers",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "changeNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "getMobileNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "getName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNames",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNamesLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "getNumberMultiplied",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "incrementNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "incrementNumber",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "phoneNumbers",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/MyContract.sol": "MyContract"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/MyContract.sol": {
"keccak256": "0xba46e36e28475c4c43db5952a206d86231880b59d55103d23f89391899688c01",
"license": "UNLICENSED",
"urls": [
"bzz-raw://e83b2b3490c0fc038add38bcde2a13b3dd73444660f975112abdc4a1f11587bb",
"dweb:/ipfs/QmPfncFnvhHwby7arapDHYMTbpaumjtU79h8GmiXvW687P"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_49": {
"entryPoint": null,
"id": 49,
"parameterSlots": 0,
"returnSlots": 0
},
"@_castToPure_110": {
"entryPoint": 503,
"id": 110,
"parameterSlots": 1,
"returnSlots": 1
},
"@_sendLogPayloadImplementation_93": {
"entryPoint": 472,
"id": 93,
"parameterSlots": 1,
"returnSlots": 0
},
"@_sendLogPayload_122": {
"entryPoint": 436,
"id": 122,
"parameterSlots": 1,
"returnSlots": 0
},
"@log_857": {
"entryPoint": 274,
"id": 857,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 717,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 613,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": {
"entryPoint": 732,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 531,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 541,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 700,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 669,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 557,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x51": {
"entryPoint": 778,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 597,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2000:2",
"nodeType": "YulBlock",
"src": "0:2000:2",
"statements": [
{
"body": {
"nativeSrc": "66:40:2",
"nodeType": "YulBlock",
"src": "66:40:2",
"statements": [
{
"nativeSrc": "77:22:2",
"nodeType": "YulAssignment",
"src": "77:22:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:2",
"nodeType": "YulIdentifier",
"src": "93:5:2"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:2",
"nodeType": "YulIdentifier",
"src": "87:5:2"
},
"nativeSrc": "87:12:2",
"nodeType": "YulFunctionCall",
"src": "87:12:2"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:2",
"nodeType": "YulIdentifier",
"src": "77:6:2"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:2",
"nodeType": "YulTypedName",
"src": "49:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:2",
"nodeType": "YulTypedName",
"src": "59:6:2",
"type": ""
}
],
"src": "7:99:2"
},
{
"body": {
"nativeSrc": "208:73:2",
"nodeType": "YulBlock",
"src": "208:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:2",
"nodeType": "YulIdentifier",
"src": "225:3:2"
},
{
"name": "length",
"nativeSrc": "230:6:2",
"nodeType": "YulIdentifier",
"src": "230:6:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:2",
"nodeType": "YulIdentifier",
"src": "218:6:2"
},
"nativeSrc": "218:19:2",
"nodeType": "YulFunctionCall",
"src": "218:19:2"
},
"nativeSrc": "218:19:2",
"nodeType": "YulExpressionStatement",
"src": "218:19:2"
},
{
"nativeSrc": "246:29:2",
"nodeType": "YulAssignment",
"src": "246:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:2",
"nodeType": "YulIdentifier",
"src": "265:3:2"
},
{
"kind": "number",
"nativeSrc": "270:4:2",
"nodeType": "YulLiteral",
"src": "270:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:2",
"nodeType": "YulIdentifier",
"src": "261:3:2"
},
"nativeSrc": "261:14:2",
"nodeType": "YulFunctionCall",
"src": "261:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:2",
"nodeType": "YulIdentifier",
"src": "246:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:2",
"nodeType": "YulTypedName",
"src": "180:3:2",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:2",
"nodeType": "YulTypedName",
"src": "185:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:2",
"nodeType": "YulTypedName",
"src": "196:11:2",
"type": ""
}
],
"src": "112:169:2"
},
{
"body": {
"nativeSrc": "349:184:2",
"nodeType": "YulBlock",
"src": "349:184:2",
"statements": [
{
"nativeSrc": "359:10:2",
"nodeType": "YulVariableDeclaration",
"src": "359:10:2",
"value": {
"kind": "number",
"nativeSrc": "368:1:2",
"nodeType": "YulLiteral",
"src": "368:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "363:1:2",
"nodeType": "YulTypedName",
"src": "363:1:2",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "428:63:2",
"nodeType": "YulBlock",
"src": "428:63:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "453:3:2",
"nodeType": "YulIdentifier",
"src": "453:3:2"
},
{
"name": "i",
"nativeSrc": "458:1:2",
"nodeType": "YulIdentifier",
"src": "458:1:2"
}
],
"functionName": {
"name": "add",
"nativeSrc": "449:3:2",
"nodeType": "YulIdentifier",
"src": "449:3:2"
},
"nativeSrc": "449:11:2",
"nodeType": "YulFunctionCall",
"src": "449:11:2"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "472:3:2",
"nodeType": "YulIdentifier",
"src": "472:3:2"
},
{
"name": "i",
"nativeSrc": "477:1:2",
"nodeType": "YulIdentifier",
"src": "477:1:2"
}
],
"functionName": {
"name": "add",
"nativeSrc": "468:3:2",
"nodeType": "YulIdentifier",
"src": "468:3:2"
},
"nativeSrc": "468:11:2",
"nodeType": "YulFunctionCall",
"src": "468:11:2"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "462:5:2",
"nodeType": "YulIdentifier",
"src": "462:5:2"
},
"nativeSrc": "462:18:2",
"nodeType": "YulFunctionCall",
"src": "462:18:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "442:6:2",
"nodeType": "YulIdentifier",
"src": "442:6:2"
},
"nativeSrc": "442:39:2",
"nodeType": "YulFunctionCall",
"src": "442:39:2"
},
"nativeSrc": "442:39:2",
"nodeType": "YulExpressionStatement",
"src": "442:39:2"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "389:1:2",
"nodeType": "YulIdentifier",
"src": "389:1:2"
},
{
"name": "length",
"nativeSrc": "392:6:2",
"nodeType": "YulIdentifier",
"src": "392:6:2"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "386:2:2",
"nodeType": "YulIdentifier",
"src": "386:2:2"
},
"nativeSrc": "386:13:2",
"nodeType": "YulFunctionCall",
"src": "386:13:2"
},
"nativeSrc": "378:113:2",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "400:19:2",
"nodeType": "YulBlock",
"src": "400:19:2",
"statements": [
{
"nativeSrc": "402:15:2",
"nodeType": "YulAssignment",
"src": "402:15:2",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "411:1:2",
"nodeType": "YulIdentifier",
"src": "411:1:2"
},
{
"kind": "number",
"nativeSrc": "414:2:2",
"nodeType": "YulLiteral",
"src": "414:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "407:3:2",
"nodeType": "YulIdentifier",
"src": "407:3:2"
},
"nativeSrc": "407:10:2",
"nodeType": "YulFunctionCall",
"src": "407:10:2"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "402:1:2",
"nodeType": "YulIdentifier",
"src": "402:1:2"
}
]
}
]
},
"pre": {
"nativeSrc": "382:3:2",
"nodeType": "YulBlock",
"src": "382:3:2",
"statements": []
},
"src": "378:113:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "511:3:2",
"nodeType": "YulIdentifier",
"src": "511:3:2"
},
{
"name": "length",
"nativeSrc": "516:6:2",
"nodeType": "YulIdentifier",
"src": "516:6:2"
}
],
"functionName": {
"name": "add",
"nativeSrc": "507:3:2",
"nodeType": "YulIdentifier",
"src": "507:3:2"
},
"nativeSrc": "507:16:2",
"nodeType": "YulFunctionCall",
"src": "507:16:2"
},
{
"kind": "number",
"nativeSrc": "525:1:2",
"nodeType": "YulLiteral",
"src": "525:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "500:6:2",
"nodeType": "YulIdentifier",
"src": "500:6:2"
},
"nativeSrc": "500:27:2",
"nodeType": "YulFunctionCall",
"src": "500:27:2"
},
"nativeSrc": "500:27:2",
"nodeType": "YulExpressionStatement",
"src": "500:27:2"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:246:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:2",
"nodeType": "YulTypedName",
"src": "331:3:2",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:2",
"nodeType": "YulTypedName",
"src": "336:3:2",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:2",
"nodeType": "YulTypedName",
"src": "341:6:2",
"type": ""
}
],
"src": "287:246:2"
},
{
"body": {
"nativeSrc": "587:54:2",
"nodeType": "YulBlock",
"src": "587:54:2",
"statements": [
{
"nativeSrc": "597:38:2",
"nodeType": "YulAssignment",
"src": "597:38:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "615:5:2",
"nodeType": "YulIdentifier",
"src": "615:5:2"
},
{
"kind": "number",
"nativeSrc": "622:2:2",
"nodeType": "YulLiteral",
"src": "622:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "611:3:2",
"nodeType": "YulIdentifier",
"src": "611:3:2"
},
"nativeSrc": "611:14:2",
"nodeType": "YulFunctionCall",
"src": "611:14:2"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "631:2:2",
"nodeType": "YulLiteral",
"src": "631:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "627:3:2",
"nodeType": "YulIdentifier",
"src": "627:3:2"
},
"nativeSrc": "627:7:2",
"nodeType": "YulFunctionCall",
"src": "627:7:2"
}
],
"functionName": {
"name": "and",
"nativeSrc": "607:3:2",
"nodeType": "YulIdentifier",
"src": "607:3:2"
},
"nativeSrc": "607:28:2",
"nodeType": "YulFunctionCall",
"src": "607:28:2"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "597:6:2",
"nodeType": "YulIdentifier",
"src": "597:6:2"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "539:102:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "570:5:2",
"nodeType": "YulTypedName",
"src": "570:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "580:6:2",
"nodeType": "YulTypedName",
"src": "580:6:2",
"type": ""
}
],
"src": "539:102:2"
},
{
"body": {
"nativeSrc": "739:285:2",
"nodeType": "YulBlock",
"src": "739:285:2",
"statements": [
{
"nativeSrc": "749:53:2",
"nodeType": "YulVariableDeclaration",
"src": "749:53:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "796:5:2",
"nodeType": "YulIdentifier",
"src": "796:5:2"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "763:32:2",
"nodeType": "YulIdentifier",
"src": "763:32:2"
},
"nativeSrc": "763:39:2",
"nodeType": "YulFunctionCall",
"src": "763:39:2"
},
"variables": [
{
"name": "length",
"nativeSrc": "753:6:2",
"nodeType": "YulTypedName",
"src": "753:6:2",
"type": ""
}
]
},
{
"nativeSrc": "811:78:2",
"nodeType": "YulAssignment",
"src": "811:78:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "877:3:2",
"nodeType": "YulIdentifier",
"src": "877:3:2"
},
{
"name": "length",
"nativeSrc": "882:6:2",
"nodeType": "YulIdentifier",
"src": "882:6:2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "818:58:2",
"nodeType": "YulIdentifier",
"src": "818:58:2"
},
"nativeSrc": "818:71:2",
"nodeType": "YulFunctionCall",
"src": "818:71:2"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "811:3:2",
"nodeType": "YulIdentifier",
"src": "811:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "937:5:2",
"nodeType": "YulIdentifier",
"src": "937:5:2"
},
{
"kind": "number",
"nativeSrc": "944:4:2",
"nodeType": "YulLiteral",
"src": "944:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "933:3:2",
"nodeType": "YulIdentifier",
"src": "933:3:2"
},
"nativeSrc": "933:16:2",
"nodeType": "YulFunctionCall",
"src": "933:16:2"
},
{
"name": "pos",
"nativeSrc": "951:3:2",
"nodeType": "YulIdentifier",
"src": "951:3:2"
},
{
"name": "length",
"nativeSrc": "956:6:2",
"nodeType": "YulIdentifier",
"src": "956:6:2"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "898:34:2",
"nodeType": "YulIdentifier",
"src": "898:34:2"
},
"nativeSrc": "898:65:2",
"nodeType": "YulFunctionCall",
"src": "898:65:2"
},
"nativeSrc": "898:65:2",
"nodeType": "YulExpressionStatement",
"src": "898:65:2"
},
{
"nativeSrc": "972:46:2",
"nodeType": "YulAssignment",
"src": "972:46:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "983:3:2",
"nodeType": "YulIdentifier",
"src": "983:3:2"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1010:6:2",
"nodeType": "YulIdentifier",
"src": "1010:6:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "988:21:2",
"nodeType": "YulIdentifier",
"src": "988:21:2"
},
"nativeSrc": "988:29:2",
"nodeType": "YulFunctionCall",
"src": "988:29:2"
}
],
"functionName": {
"name": "add",
"nativeSrc": "979:3:2",
"nodeType": "YulIdentifier",
"src": "979:3:2"
},
"nativeSrc": "979:39:2",
"nodeType": "YulFunctionCall",
"src": "979:39:2"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "972:3:2",
"nodeType": "YulIdentifier",
"src": "972:3:2"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "647:377:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "720:5:2",
"nodeType": "YulTypedName",
"src": "720:5:2",
"type": ""
},
{
"name": "pos",
"nativeSrc": "727:3:2",
"nodeType": "YulTypedName",
"src": "727:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "735:3:2",
"nodeType": "YulTypedName",
"src": "735:3:2",
"type": ""
}
],
"src": "647:377:2"
},
{
"body": {
"nativeSrc": "1075:81:2",
"nodeType": "YulBlock",
"src": "1075:81:2",
"statements": [
{
"nativeSrc": "1085:65:2",
"nodeType": "YulAssignment",
"src": "1085:65:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1100:5:2",
"nodeType": "YulIdentifier",
"src": "1100:5:2"
},
{
"kind": "number",
"nativeSrc": "1107:42:2",
"nodeType": "YulLiteral",
"src": "1107:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1096:3:2",
"nodeType": "YulIdentifier",
"src": "1096:3:2"
},
"nativeSrc": "1096:54:2",
"nodeType": "YulFunctionCall",
"src": "1096:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1085:7:2",
"nodeType": "YulIdentifier",
"src": "1085:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1030:126:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1057:5:2",
"nodeType": "YulTypedName",
"src": "1057:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1067:7:2",
"nodeType": "YulTypedName",
"src": "1067:7:2",
"type": ""
}
],
"src": "1030:126:2"
},
{
"body": {
"nativeSrc": "1207:51:2",
"nodeType": "YulBlock",
"src": "1207:51:2",
"statements": [
{
"nativeSrc": "1217:35:2",
"nodeType": "YulAssignment",
"src": "1217:35:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1246:5:2",
"nodeType": "YulIdentifier",
"src": "1246:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1228:17:2",
"nodeType": "YulIdentifier",
"src": "1228:17:2"
},
"nativeSrc": "1228:24:2",
"nodeType": "YulFunctionCall",
"src": "1228:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1217:7:2",
"nodeType": "YulIdentifier",
"src": "1217:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "1162:96:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1189:5:2",
"nodeType": "YulTypedName",
"src": "1189:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1199:7:2",
"nodeType": "YulTypedName",
"src": "1199:7:2",
"type": ""
}
],
"src": "1162:96:2"
},
{
"body": {
"nativeSrc": "1329:53:2",
"nodeType": "YulBlock",
"src": "1329:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1346:3:2",
"nodeType": "YulIdentifier",
"src": "1346:3:2"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1369:5:2",
"nodeType": "YulIdentifier",
"src": "1369:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1351:17:2",
"nodeType": "YulIdentifier",
"src": "1351:17:2"
},
"nativeSrc": "1351:24:2",
"nodeType": "YulFunctionCall",
"src": "1351:24:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1339:6:2",
"nodeType": "YulIdentifier",
"src": "1339:6:2"
},
"nativeSrc": "1339:37:2",
"nodeType": "YulFunctionCall",
"src": "1339:37:2"
},
"nativeSrc": "1339:37:2",
"nodeType": "YulExpressionStatement",
"src": "1339:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "1264:118:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1317:5:2",
"nodeType": "YulTypedName",
"src": "1317:5:2",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1324:3:2",
"nodeType": "YulTypedName",
"src": "1324:3:2",
"type": ""
}
],
"src": "1264:118:2"
},
{
"body": {
"nativeSrc": "1534:277:2",
"nodeType": "YulBlock",
"src": "1534:277:2",
"statements": [
{
"nativeSrc": "1544:26:2",
"nodeType": "YulAssignment",
"src": "1544:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1556:9:2",
"nodeType": "YulIdentifier",
"src": "1556:9:2"
},
{
"kind": "number",
"nativeSrc": "1567:2:2",
"nodeType": "YulLiteral",
"src": "1567:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1552:3:2",
"nodeType": "YulIdentifier",
"src": "1552:3:2"
},
"nativeSrc": "1552:18:2",
"nodeType": "YulFunctionCall",
"src": "1552:18:2"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1544:4:2",
"nodeType": "YulIdentifier",
"src": "1544:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1591:9:2",
"nodeType": "YulIdentifier",
"src": "1591:9:2"
},
{
"kind": "number",
"nativeSrc": "1602:1:2",
"nodeType": "YulLiteral",
"src": "1602:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1587:3:2",
"nodeType": "YulIdentifier",
"src": "1587:3:2"
},
"nativeSrc": "1587:17:2",
"nodeType": "YulFunctionCall",
"src": "1587:17:2"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1610:4:2",
"nodeType": "YulIdentifier",
"src": "1610:4:2"
},
{
"name": "headStart",
"nativeSrc": "1616:9:2",
"nodeType": "YulIdentifier",
"src": "1616:9:2"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1606:3:2",
"nodeType": "YulIdentifier",
"src": "1606:3:2"
},
"nativeSrc": "1606:20:2",
"nodeType": "YulFunctionCall",
"src": "1606:20:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1580:6:2",
"nodeType": "YulIdentifier",
"src": "1580:6:2"
},
"nativeSrc": "1580:47:2",
"nodeType": "YulFunctionCall",
"src": "1580:47:2"
},
"nativeSrc": "1580:47:2",
"nodeType": "YulExpressionStatement",
"src": "1580:47:2"
},
{
"nativeSrc": "1636:86:2",
"nodeType": "YulAssignment",
"src": "1636:86:2",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1708:6:2",
"nodeType": "YulIdentifier",
"src": "1708:6:2"
},
{
"name": "tail",
"nativeSrc": "1717:4:2",
"nodeType": "YulIdentifier",
"src": "1717:4:2"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1644:63:2",
"nodeType": "YulIdentifier",
"src": "1644:63:2"
},
"nativeSrc": "1644:78:2",
"nodeType": "YulFunctionCall",
"src": "1644:78:2"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1636:4:2",
"nodeType": "YulIdentifier",
"src": "1636:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "1776:6:2",
"nodeType": "YulIdentifier",
"src": "1776:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1789:9:2",
"nodeType": "YulIdentifier",
"src": "1789:9:2"
},
{
"kind": "number",
"nativeSrc": "1800:2:2",
"nodeType": "YulLiteral",
"src": "1800:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1785:3:2",
"nodeType": "YulIdentifier",
"src": "1785:3:2"
},
"nativeSrc": "1785:18:2",
"nodeType": "YulFunctionCall",
"src": "1785:18:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "1732:43:2",
"nodeType": "YulIdentifier",
"src": "1732:43:2"
},
"nativeSrc": "1732:72:2",
"nodeType": "YulFunctionCall",
"src": "1732:72:2"
},
"nativeSrc": "1732:72:2",
"nodeType": "YulExpressionStatement",
"src": "1732:72:2"
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed",
"nativeSrc": "1388:423:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1498:9:2",
"nodeType": "YulTypedName",
"src": "1498:9:2",
"type": ""
},
{
"name": "value1",
"nativeSrc": "1510:6:2",
"nodeType": "YulTypedName",
"src": "1510:6:2",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1518:6:2",
"nodeType": "YulTypedName",
"src": "1518:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1529:4:2",
"nodeType": "YulTypedName",
"src": "1529:4:2",
"type": ""
}
],
"src": "1388:423:2"
},
{
"body": {
"nativeSrc": "1845:152:2",
"nodeType": "YulBlock",
"src": "1845:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1862:1:2",
"nodeType": "YulLiteral",
"src": "1862:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1865:77:2",
"nodeType": "YulLiteral",
"src": "1865:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1855:6:2",
"nodeType": "YulIdentifier",
"src": "1855:6:2"
},
"nativeSrc": "1855:88:2",
"nodeType": "YulFunctionCall",
"src": "1855:88:2"
},
"nativeSrc": "1855:88:2",
"nodeType": "YulExpressionStatement",
"src": "1855:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1959:1:2",
"nodeType": "YulLiteral",
"src": "1959:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1962:4:2",
"nodeType": "YulLiteral",
"src": "1962:4:2",
"type": "",
"value": "0x51"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1952:6:2",
"nodeType": "YulIdentifier",
"src": "1952:6:2"
},
"nativeSrc": "1952:15:2",
"nodeType": "YulFunctionCall",
"src": "1952:15:2"
},
"nativeSrc": "1952:15:2",
"nodeType": "YulExpressionStatement",
"src": "1952:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1983:1:2",
"nodeType": "YulLiteral",
"src": "1983:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1986:4:2",
"nodeType": "YulLiteral",
"src": "1986:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1976:6:2",
"nodeType": "YulIdentifier",
"src": "1976:6:2"
},
"nativeSrc": "1976:15:2",
"nodeType": "YulFunctionCall",
"src": "1976:15:2"
},
"nativeSrc": "1976:15:2",
"nodeType": "YulExpressionStatement",
"src": "1976:15:2"
}
]
},
"name": "panic_error_0x51",
"nativeSrc": "1817:180:2",
"nodeType": "YulFunctionDefinition",
"src": "1817:180:2"
}
]
},
"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 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_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x51() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x51)\n revert(0, 0x24)\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506100556040518060400160405280601b81526020017f4f776e657220636f6e7472616374206465706c6f7965642062793a00000000008152503361011260201b60201c565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3610337565b6101b082826040516024016101289291906102dc565b6040516020818303038152906040527f319af333000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506101b460201b60201c565b5050565b6101d5816101d06101d860201b6101e1176101f760201b60201c565b60201c565b50565b5f6a636f6e736f6c652e6c6f6790505f80835160208501845afa505050565b61020960201b61020017819050919050565b61021161030a565b565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561024a57808201518184015260208101905061022f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61026f82610213565b610279818561021d565b935061028981856020860161022d565b61029281610255565b840191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102c68261029d565b9050919050565b6102d6816102bc565b82525050565b5f6040820190508181035f8301526102f48185610265565b905061030360208301846102cd565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b610396806103445f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063893d20e814610038578063a6f9dae114610056575b5f80fd5b610040610072565b60405161004d9190610249565b60405180910390f35b610070600480360381019061006b9190610290565b610099565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011d90610315565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6a636f6e736f6c652e6c6f6790505f80835160208501845afa505050565b610208610333565b565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102338261020a565b9050919050565b61024381610229565b82525050565b5f60208201905061025c5f83018461023a565b92915050565b5f80fd5b61026f81610229565b8114610279575f80fd5b50565b5f8135905061028a81610266565b92915050565b5f602082840312156102a5576102a4610262565b5b5f6102b28482850161027c565b91505092915050565b5f82825260208201905092915050565b7f43616c6c6572206973206e6f74206f776e6572000000000000000000000000005f82015250565b5f6102ff6013836102bb565b915061030a826102cb565b602082019050919050565b5f6020820190508181035f83015261032c816102f3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea26469706673582212202d42bcc157aeb804df27c769944dd5130915388c50e8f9f700f740ca71a7ab3564736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x55 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4F776E657220636F6E7472616374206465706C6F7965642062793A0000000000 DUP2 MSTORE POP CALLER PUSH2 0x112 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST CALLER PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x337 JUMP JUMPDEST PUSH2 0x1B0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x128 SWAP3 SWAP2 SWAP1 PUSH2 0x2DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x319AF33300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x1B4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1D5 DUP2 PUSH2 0x1D0 PUSH2 0x1D8 PUSH1 0x20 SHL PUSH2 0x1E1 OR PUSH2 0x1F7 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH0 DUP1 DUP4 MLOAD PUSH1 0x20 DUP6 ADD DUP5 GAS STATICCALL POP POP POP JUMP JUMPDEST PUSH2 0x209 PUSH1 0x20 SHL PUSH2 0x200 OR DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x211 PUSH2 0x30A JUMP JUMPDEST 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 0x24A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x22F 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 0x26F DUP3 PUSH2 0x213 JUMP JUMPDEST PUSH2 0x279 DUP2 DUP6 PUSH2 0x21D JUMP JUMPDEST SWAP4 POP PUSH2 0x289 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x22D JUMP JUMPDEST PUSH2 0x292 DUP2 PUSH2 0x255 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x2C6 DUP3 PUSH2 0x29D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2D6 DUP2 PUSH2 0x2BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x2F4 DUP2 DUP6 PUSH2 0x265 JUMP JUMPDEST SWAP1 POP PUSH2 0x303 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2CD JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x51 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x396 DUP1 PUSH2 0x344 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 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x249 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x290 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x126 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH0 DUP1 DUP4 MLOAD PUSH1 0x20 DUP6 ADD DUP5 GAS STATICCALL POP POP POP JUMP JUMPDEST PUSH2 0x208 PUSH2 0x333 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x233 DUP3 PUSH2 0x20A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x243 DUP2 PUSH2 0x229 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25C PUSH0 DUP4 ADD DUP5 PUSH2 0x23A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x26F DUP2 PUSH2 0x229 JUMP JUMPDEST DUP2 EQ PUSH2 0x279 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28A DUP2 PUSH2 0x266 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A5 JUMPI PUSH2 0x2A4 PUSH2 0x262 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x2B2 DUP5 DUP3 DUP6 ADD PUSH2 0x27C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x2FF PUSH1 0x13 DUP4 PUSH2 0x2BB JUMP JUMPDEST SWAP2 POP PUSH2 0x30A DUP3 PUSH2 0x2CB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x32C DUP2 PUSH2 0x2F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x51 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2D TIMESTAMP 0xBC 0xC1 JUMPI 0xAE 0xB8 DIV 0xDF 0x27 0xC7 PUSH10 0x944DD5130915388C50E8 0xF9 0xF7 STOP 0xF7 BLOCKHASH 0xCA PUSH18 0xA7AB3564736F6C6343000815003300000000 ",
"sourceMap": "152:1413:0:-:0;;;942:234;;;;;;;;;;966:54;;;;;;;;;;;;;;;;;;1009:10;966:11;;;:54;;:::i;:::-;1038:10;1030:5;;:18;;;;;;;;;;;;;;;;;;1163:5;;;;;;;;;;1142:27;;1159:1;1142:27;;;;;;;;;;;;152:1413;;7470:145:1;7537:71;7600:2;7604;7553:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7537:15;;;:71;;:::i;:::-;7470:145;;:::o;851:129::-;922:51;965:7;922:42;934:29;;;;;922:11;;;:42;;:::i;:::-;:51;;:::i;:::-;851:129;:::o;180:463::-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;649:196::-;748:33;;;;;825:4;816:13;;649:196;;;:::o;152:1413:0:-;;;:::i;:::-;:::o;7:99:2:-;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:126::-;1067:7;1107:42;1100:5;1096:54;1085:65;;1030:126;;;:::o;1162:96::-;1199:7;1228:24;1246:5;1228:24;:::i;:::-;1217:35;;1162:96;;;:::o;1264:118::-;1351:24;1369:5;1351:24;:::i;:::-;1346:3;1339:37;1264:118;;:::o;1388:423::-;1529:4;1567:2;1556:9;1552:18;1544:26;;1616:9;1610:4;1606:20;1602:1;1591:9;1587:17;1580:47;1644:78;1717:4;1708:6;1644:78;:::i;:::-;1636:86;;1732:72;1800:2;1789:9;1785:18;1776:6;1732:72;:::i;:::-;1388:423;;;;;:::o;1817:180::-;1865:77;1862:1;1855:88;1962:4;1959:1;1952:15;1986:4;1983:1;1976:15;152:1413:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_sendLogPayloadImplementation_93": {
"entryPoint": 481,
"id": 93,
"parameterSlots": 1,
"returnSlots": 0
},
"@changeOwner_67": {
"entryPoint": 153,
"id": 67,
"parameterSlots": 1,
"returnSlots": 0
},
"@getOwner_76": {
"entryPoint": 114,
"id": 76,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 636,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 656,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 570,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 755,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 585,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 789,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 699,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 553,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 522,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x51": {
"entryPoint": 819,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 610,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d": {
"entryPoint": 715,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 614,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2858:2",
"nodeType": "YulBlock",
"src": "0:2858:2",
"statements": [
{
"body": {
"nativeSrc": "52:81:2",
"nodeType": "YulBlock",
"src": "52:81:2",
"statements": [
{
"nativeSrc": "62:65:2",
"nodeType": "YulAssignment",
"src": "62:65:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "77:5:2",
"nodeType": "YulIdentifier",
"src": "77:5:2"
},
{
"kind": "number",
"nativeSrc": "84:42:2",
"nodeType": "YulLiteral",
"src": "84:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "73:3:2",
"nodeType": "YulIdentifier",
"src": "73:3:2"
},
"nativeSrc": "73:54:2",
"nodeType": "YulFunctionCall",
"src": "73:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:2",
"nodeType": "YulIdentifier",
"src": "62:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "7:126:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:2",
"nodeType": "YulTypedName",
"src": "34:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:2",
"nodeType": "YulTypedName",
"src": "44:7:2",
"type": ""
}
],
"src": "7:126:2"
},
{
"body": {
"nativeSrc": "184:51:2",
"nodeType": "YulBlock",
"src": "184:51:2",
"statements": [
{
"nativeSrc": "194:35:2",
"nodeType": "YulAssignment",
"src": "194:35:2",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "223:5:2",
"nodeType": "YulIdentifier",
"src": "223:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "205:17:2",
"nodeType": "YulIdentifier",
"src": "205:17:2"
},
"nativeSrc": "205:24:2",
"nodeType": "YulFunctionCall",
"src": "205:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "194:7:2",
"nodeType": "YulIdentifier",
"src": "194:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "139:96:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "166:5:2",
"nodeType": "YulTypedName",
"src": "166:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "176:7:2",
"nodeType": "YulTypedName",
"src": "176:7:2",
"type": ""
}
],
"src": "139:96:2"
},
{
"body": {
"nativeSrc": "306:53:2",
"nodeType": "YulBlock",
"src": "306:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "323:3:2",
"nodeType": "YulIdentifier",
"src": "323:3:2"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "346:5:2",
"nodeType": "YulIdentifier",
"src": "346:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "328:17:2",
"nodeType": "YulIdentifier",
"src": "328:17:2"
},
"nativeSrc": "328:24:2",
"nodeType": "YulFunctionCall",
"src": "328:24:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "316:6:2",
"nodeType": "YulIdentifier",
"src": "316:6:2"
},
"nativeSrc": "316:37:2",
"nodeType": "YulFunctionCall",
"src": "316:37:2"
},
"nativeSrc": "316:37:2",
"nodeType": "YulExpressionStatement",
"src": "316:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "241:118:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "294:5:2",
"nodeType": "YulTypedName",
"src": "294:5:2",
"type": ""
},
{
"name": "pos",
"nativeSrc": "301:3:2",
"nodeType": "YulTypedName",
"src": "301:3:2",
"type": ""
}
],
"src": "241:118:2"
},
{
"body": {
"nativeSrc": "463:124:2",
"nodeType": "YulBlock",
"src": "463:124:2",
"statements": [
{
"nativeSrc": "473:26:2",
"nodeType": "YulAssignment",
"src": "473:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "485:9:2",
"nodeType": "YulIdentifier",
"src": "485:9:2"
},
{
"kind": "number",
"nativeSrc": "496:2:2",
"nodeType": "YulLiteral",
"src": "496:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "481:3:2",
"nodeType": "YulIdentifier",
"src": "481:3:2"
},
"nativeSrc": "481:18:2",
"nodeType": "YulFunctionCall",
"src": "481:18:2"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "473:4:2",
"nodeType": "YulIdentifier",
"src": "473:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "553:6:2",
"nodeType": "YulIdentifier",
"src": "553:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "566:9:2",
"nodeType": "YulIdentifier",
"src": "566:9:2"
},
{
"kind": "number",
"nativeSrc": "577:1:2",
"nodeType": "YulLiteral",
"src": "577:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "562:3:2",
"nodeType": "YulIdentifier",
"src": "562:3:2"
},
"nativeSrc": "562:17:2",
"nodeType": "YulFunctionCall",
"src": "562:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "509:43:2",
"nodeType": "YulIdentifier",
"src": "509:43:2"
},
"nativeSrc": "509:71:2",
"nodeType": "YulFunctionCall",
"src": "509:71:2"
},
"nativeSrc": "509:71:2",
"nodeType": "YulExpressionStatement",
"src": "509:71:2"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "365:222:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "435:9:2",
"nodeType": "YulTypedName",
"src": "435:9:2",
"type": ""
},
{
"name": "value0",
"nativeSrc": "447:6:2",
"nodeType": "YulTypedName",
"src": "447:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "458:4:2",
"nodeType": "YulTypedName",
"src": "458:4:2",
"type": ""
}
],
"src": "365:222:2"
},
{
"body": {
"nativeSrc": "633:35:2",
"nodeType": "YulBlock",
"src": "633:35:2",
"statements": [
{
"nativeSrc": "643:19:2",
"nodeType": "YulAssignment",
"src": "643:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "659:2:2",
"nodeType": "YulLiteral",
"src": "659:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "653:5:2",
"nodeType": "YulIdentifier",
"src": "653:5:2"
},
"nativeSrc": "653:9:2",
"nodeType": "YulFunctionCall",
"src": "653:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "643:6:2",
"nodeType": "YulIdentifier",
"src": "643:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "593:75:2",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "626:6:2",
"nodeType": "YulTypedName",
"src": "626:6:2",
"type": ""
}
],
"src": "593:75:2"
},
{
"body": {
"nativeSrc": "763:28:2",
"nodeType": "YulBlock",
"src": "763:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "780:1:2",
"nodeType": "YulLiteral",
"src": "780:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "783:1:2",
"nodeType": "YulLiteral",
"src": "783:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "773:6:2",
"nodeType": "YulIdentifier",
"src": "773:6:2"
},
"nativeSrc": "773:12:2",
"nodeType": "YulFunctionCall",
"src": "773:12:2"
},
"nativeSrc": "773:12:2",
"nodeType": "YulExpressionStatement",
"src": "773:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "674:117:2",
"nodeType": "YulFunctionDefinition",
"src": "674:117:2"
},
{
"body": {
"nativeSrc": "886:28:2",
"nodeType": "YulBlock",
"src": "886:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "903:1:2",
"nodeType": "YulLiteral",
"src": "903:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "906:1:2",
"nodeType": "YulLiteral",
"src": "906:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "896:6:2",
"nodeType": "YulIdentifier",
"src": "896:6:2"
},
"nativeSrc": "896:12:2",
"nodeType": "YulFunctionCall",
"src": "896:12:2"
},
"nativeSrc": "896:12:2",
"nodeType": "YulExpressionStatement",
"src": "896:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "797:117:2",
"nodeType": "YulFunctionDefinition",
"src": "797:117:2"
},
{
"body": {
"nativeSrc": "963:79:2",
"nodeType": "YulBlock",
"src": "963:79:2",
"statements": [
{
"body": {
"nativeSrc": "1020:16:2",
"nodeType": "YulBlock",
"src": "1020:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1029:1:2",
"nodeType": "YulLiteral",
"src": "1029:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1032:1:2",
"nodeType": "YulLiteral",
"src": "1032:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1022:6:2",
"nodeType": "YulIdentifier",
"src": "1022:6:2"
},
"nativeSrc": "1022:12:2",
"nodeType": "YulFunctionCall",
"src": "1022:12:2"
},
"nativeSrc": "1022:12:2",
"nodeType": "YulExpressionStatement",
"src": "1022:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "986:5:2",
"nodeType": "YulIdentifier",
"src": "986:5:2"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1011:5:2",
"nodeType": "YulIdentifier",
"src": "1011:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "993:17:2",
"nodeType": "YulIdentifier",
"src": "993:17:2"
},
"nativeSrc": "993:24:2",
"nodeType": "YulFunctionCall",
"src": "993:24:2"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "983:2:2",
"nodeType": "YulIdentifier",
"src": "983:2:2"
},
"nativeSrc": "983:35:2",
"nodeType": "YulFunctionCall",
"src": "983:35:2"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "976:6:2",
"nodeType": "YulIdentifier",
"src": "976:6:2"
},
"nativeSrc": "976:43:2",
"nodeType": "YulFunctionCall",
"src": "976:43:2"
},
"nativeSrc": "973:63:2",
"nodeType": "YulIf",
"src": "973:63:2"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "920:122:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "956:5:2",
"nodeType": "YulTypedName",
"src": "956:5:2",
"type": ""
}
],
"src": "920:122:2"
},
{
"body": {
"nativeSrc": "1100:87:2",
"nodeType": "YulBlock",
"src": "1100:87:2",
"statements": [
{
"nativeSrc": "1110:29:2",
"nodeType": "YulAssignment",
"src": "1110:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "1132:6:2",
"nodeType": "YulIdentifier",
"src": "1132:6:2"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "1119:12:2",
"nodeType": "YulIdentifier",
"src": "1119:12:2"
},
"nativeSrc": "1119:20:2",
"nodeType": "YulFunctionCall",
"src": "1119:20:2"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1110:5:2",
"nodeType": "YulIdentifier",
"src": "1110:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1175:5:2",
"nodeType": "YulIdentifier",
"src": "1175:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "1148:26:2",
"nodeType": "YulIdentifier",
"src": "1148:26:2"
},
"nativeSrc": "1148:33:2",
"nodeType": "YulFunctionCall",
"src": "1148:33:2"
},
"nativeSrc": "1148:33:2",
"nodeType": "YulExpressionStatement",
"src": "1148:33:2"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "1048:139:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "1078:6:2",
"nodeType": "YulTypedName",
"src": "1078:6:2",
"type": ""
},
{
"name": "end",
"nativeSrc": "1086:3:2",
"nodeType": "YulTypedName",
"src": "1086:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "1094:5:2",
"nodeType": "YulTypedName",
"src": "1094:5:2",
"type": ""
}
],
"src": "1048:139:2"
},
{
"body": {
"nativeSrc": "1259:263:2",
"nodeType": "YulBlock",
"src": "1259:263:2",
"statements": [
{
"body": {
"nativeSrc": "1305:83:2",
"nodeType": "YulBlock",
"src": "1305:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1307:77:2",
"nodeType": "YulIdentifier",
"src": "1307:77:2"
},
"nativeSrc": "1307:79:2",
"nodeType": "YulFunctionCall",
"src": "1307:79:2"
},
"nativeSrc": "1307:79:2",
"nodeType": "YulExpressionStatement",
"src": "1307:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1280:7:2",
"nodeType": "YulIdentifier",
"src": "1280:7:2"
},
{
"name": "headStart",
"nativeSrc": "1289:9:2",
"nodeType": "YulIdentifier",
"src": "1289:9:2"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1276:3:2",
"nodeType": "YulIdentifier",
"src": "1276:3:2"
},
"nativeSrc": "1276:23:2",
"nodeType": "YulFunctionCall",
"src": "1276:23:2"
},
{
"kind": "number",
"nativeSrc": "1301:2:2",
"nodeType": "YulLiteral",
"src": "1301:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1272:3:2",
"nodeType": "YulIdentifier",
"src": "1272:3:2"
},
"nativeSrc": "1272:32:2",
"nodeType": "YulFunctionCall",
"src": "1272:32:2"
},
"nativeSrc": "1269:119:2",
"nodeType": "YulIf",
"src": "1269:119:2"
},
{
"nativeSrc": "1398:117:2",
"nodeType": "YulBlock",
"src": "1398:117:2",
"statements": [
{
"nativeSrc": "1413:15:2",
"nodeType": "YulVariableDeclaration",
"src": "1413:15:2",
"value": {
"kind": "number",
"nativeSrc": "1427:1:2",
"nodeType": "YulLiteral",
"src": "1427:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1417:6:2",
"nodeType": "YulTypedName",
"src": "1417:6:2",
"type": ""
}
]
},
{
"nativeSrc": "1442:63:2",
"nodeType": "YulAssignment",
"src": "1442:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1477:9:2",
"nodeType": "YulIdentifier",
"src": "1477:9:2"
},
{
"name": "offset",
"nativeSrc": "1488:6:2",
"nodeType": "YulIdentifier",
"src": "1488:6:2"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1473:3:2",
"nodeType": "YulIdentifier",
"src": "1473:3:2"
},
"nativeSrc": "1473:22:2",
"nodeType": "YulFunctionCall",
"src": "1473:22:2"
},
{
"name": "dataEnd",
"nativeSrc": "1497:7:2",
"nodeType": "YulIdentifier",
"src": "1497:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "1452:20:2",
"nodeType": "YulIdentifier",
"src": "1452:20:2"
},
"nativeSrc": "1452:53:2",
"nodeType": "YulFunctionCall",
"src": "1452:53:2"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1442:6:2",
"nodeType": "YulIdentifier",
"src": "1442:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "1193:329:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1229:9:2",
"nodeType": "YulTypedName",
"src": "1229:9:2",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1240:7:2",
"nodeType": "YulTypedName",
"src": "1240:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1252:6:2",
"nodeType": "YulTypedName",
"src": "1252:6:2",
"type": ""
}
],
"src": "1193:329:2"
},
{
"body": {
"nativeSrc": "1624:73:2",
"nodeType": "YulBlock",
"src": "1624:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1641:3:2",
"nodeType": "YulIdentifier",
"src": "1641:3:2"
},
{
"name": "length",
"nativeSrc": "1646:6:2",
"nodeType": "YulIdentifier",
"src": "1646:6:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1634:6:2",
"nodeType": "YulIdentifier",
"src": "1634:6:2"
},
"nativeSrc": "1634:19:2",
"nodeType": "YulFunctionCall",
"src": "1634:19:2"
},
"nativeSrc": "1634:19:2",
"nodeType": "YulExpressionStatement",
"src": "1634:19:2"
},
{
"nativeSrc": "1662:29:2",
"nodeType": "YulAssignment",
"src": "1662:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1681:3:2",
"nodeType": "YulIdentifier",
"src": "1681:3:2"
},
{
"kind": "number",
"nativeSrc": "1686:4:2",
"nodeType": "YulLiteral",
"src": "1686:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1677:3:2",
"nodeType": "YulIdentifier",
"src": "1677:3:2"
},
"nativeSrc": "1677:14:2",
"nodeType": "YulFunctionCall",
"src": "1677:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "1662:11:2",
"nodeType": "YulIdentifier",
"src": "1662:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "1528:169:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "1596:3:2",
"nodeType": "YulTypedName",
"src": "1596:3:2",
"type": ""
},
{
"name": "length",
"nativeSrc": "1601:6:2",
"nodeType": "YulTypedName",
"src": "1601:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "1612:11:2",
"nodeType": "YulTypedName",
"src": "1612:11:2",
"type": ""
}
],
"src": "1528:169:2"
},
{
"body": {
"nativeSrc": "1809:63:2",
"nodeType": "YulBlock",
"src": "1809:63:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1831:6:2",
"nodeType": "YulIdentifier",
"src": "1831:6:2"
},
{
"kind": "number",
"nativeSrc": "1839:1:2",
"nodeType": "YulLiteral",
"src": "1839:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1827:3:2",
"nodeType": "YulIdentifier",
"src": "1827:3:2"
},
"nativeSrc": "1827:14:2",
"nodeType": "YulFunctionCall",
"src": "1827:14:2"
},
{
"hexValue": "43616c6c6572206973206e6f74206f776e6572",
"kind": "string",
"nativeSrc": "1843:21:2",
"nodeType": "YulLiteral",
"src": "1843:21:2",
"type": "",
"value": "Caller is not owner"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1820:6:2",
"nodeType": "YulIdentifier",
"src": "1820:6:2"
},
"nativeSrc": "1820:45:2",
"nodeType": "YulFunctionCall",
"src": "1820:45:2"
},
"nativeSrc": "1820:45:2",
"nodeType": "YulExpressionStatement",
"src": "1820:45:2"
}
]
},
"name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d",
"nativeSrc": "1703:169:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "1801:6:2",
"nodeType": "YulTypedName",
"src": "1801:6:2",
"type": ""
}
],
"src": "1703:169:2"
},
{
"body": {
"nativeSrc": "2024:220:2",
"nodeType": "YulBlock",
"src": "2024:220:2",
"statements": [
{
"nativeSrc": "2034:74:2",
"nodeType": "YulAssignment",
"src": "2034:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2100:3:2",
"nodeType": "YulIdentifier",
"src": "2100:3:2"
},
{
"kind": "number",
"nativeSrc": "2105:2:2",
"nodeType": "YulLiteral",
"src": "2105:2:2",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2041:58:2",
"nodeType": "YulIdentifier",
"src": "2041:58:2"
},
"nativeSrc": "2041:67:2",
"nodeType": "YulFunctionCall",
"src": "2041:67:2"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2034:3:2",
"nodeType": "YulIdentifier",
"src": "2034:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2206:3:2",
"nodeType": "YulIdentifier",
"src": "2206:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d",
"nativeSrc": "2117:88:2",
"nodeType": "YulIdentifier",
"src": "2117:88:2"
},
"nativeSrc": "2117:93:2",
"nodeType": "YulFunctionCall",
"src": "2117:93:2"
},
"nativeSrc": "2117:93:2",
"nodeType": "YulExpressionStatement",
"src": "2117:93:2"
},
{
"nativeSrc": "2219:19:2",
"nodeType": "YulAssignment",
"src": "2219:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2230:3:2",
"nodeType": "YulIdentifier",
"src": "2230:3:2"
},
{
"kind": "number",
"nativeSrc": "2235:2:2",
"nodeType": "YulLiteral",
"src": "2235:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2226:3:2",
"nodeType": "YulIdentifier",
"src": "2226:3:2"
},
"nativeSrc": "2226:12:2",
"nodeType": "YulFunctionCall",
"src": "2226:12:2"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2219:3:2",
"nodeType": "YulIdentifier",
"src": "2219:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1878:366:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2012:3:2",
"nodeType": "YulTypedName",
"src": "2012:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2020:3:2",
"nodeType": "YulTypedName",
"src": "2020:3:2",
"type": ""
}
],
"src": "1878:366:2"
},
{
"body": {
"nativeSrc": "2421:248:2",
"nodeType": "YulBlock",
"src": "2421:248:2",
"statements": [
{
"nativeSrc": "2431:26:2",
"nodeType": "YulAssignment",
"src": "2431:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2443:9:2",
"nodeType": "YulIdentifier",
"src": "2443:9:2"
},
{
"kind": "number",
"nativeSrc": "2454:2:2",
"nodeType": "YulLiteral",
"src": "2454:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2439:3:2",
"nodeType": "YulIdentifier",
"src": "2439:3:2"
},
"nativeSrc": "2439:18:2",
"nodeType": "YulFunctionCall",
"src": "2439:18:2"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2431:4:2",
"nodeType": "YulIdentifier",
"src": "2431:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2478:9:2",
"nodeType": "YulIdentifier",
"src": "2478:9:2"
},
{
"kind": "number",
"nativeSrc": "2489:1:2",
"nodeType": "YulLiteral",
"src": "2489:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2474:3:2",
"nodeType": "YulIdentifier",
"src": "2474:3:2"
},
"nativeSrc": "2474:17:2",
"nodeType": "YulFunctionCall",
"src": "2474:17:2"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "2497:4:2",
"nodeType": "YulIdentifier",
"src": "2497:4:2"
},
{
"name": "headStart",
"nativeSrc": "2503:9:2",
"nodeType": "YulIdentifier",
"src": "2503:9:2"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2493:3:2",
"nodeType": "YulIdentifier",
"src": "2493:3:2"
},
"nativeSrc": "2493:20:2",
"nodeType": "YulFunctionCall",
"src": "2493:20:2"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2467:6:2",
"nodeType": "YulIdentifier",
"src": "2467:6:2"
},
"nativeSrc": "2467:47:2",
"nodeType": "YulFunctionCall",
"src": "2467:47:2"
},
"nativeSrc": "2467:47:2",
"nodeType": "YulExpressionStatement",
"src": "2467:47:2"
},
{
"nativeSrc": "2523:139:2",
"nodeType": "YulAssignment",
"src": "2523:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "2657:4:2",
"nodeType": "YulIdentifier",
"src": "2657:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "2531:124:2",
"nodeType": "YulIdentifier",
"src": "2531:124:2"
},
"nativeSrc": "2531:131:2",
"nodeType": "YulFunctionCall",
"src": "2531:131:2"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2523:4:2",
"nodeType": "YulIdentifier",
"src": "2523:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "2250:419:2",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2401:9:2",
"nodeType": "YulTypedName",
"src": "2401:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2416:4:2",
"nodeType": "YulTypedName",
"src": "2416:4:2",
"type": ""
}
],
"src": "2250:419:2"
},
{
"body": {
"nativeSrc": "2703:152:2",
"nodeType": "YulBlock",
"src": "2703:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2720:1:2",
"nodeType": "YulLiteral",
"src": "2720:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2723:77:2",
"nodeType": "YulLiteral",
"src": "2723:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2713:6:2",
"nodeType": "YulIdentifier",
"src": "2713:6:2"
},
"nativeSrc": "2713:88:2",
"nodeType": "YulFunctionCall",
"src": "2713:88:2"
},
"nativeSrc": "2713:88:2",
"nodeType": "YulExpressionStatement",
"src": "2713:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2817:1:2",
"nodeType": "YulLiteral",
"src": "2817:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "2820:4:2",
"nodeType": "YulLiteral",
"src": "2820:4:2",
"type": "",
"value": "0x51"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2810:6:2",
"nodeType": "YulIdentifier",
"src": "2810:6:2"
},
"nativeSrc": "2810:15:2",
"nodeType": "YulFunctionCall",
"src": "2810:15:2"
},
"nativeSrc": "2810:15:2",
"nodeType": "YulExpressionStatement",
"src": "2810:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2841:1:2",
"nodeType": "YulLiteral",
"src": "2841:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2844:4:2",
"nodeType": "YulLiteral",
"src": "2844:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2834:6:2",
"nodeType": "YulIdentifier",
"src": "2834:6:2"
},
"nativeSrc": "2834:15:2",
"nodeType": "YulFunctionCall",
"src": "2834:15:2"
},
"nativeSrc": "2834:15:2",
"nodeType": "YulExpressionStatement",
"src": "2834:15:2"
}
]
},
"name": "panic_error_0x51",
"nativeSrc": "2675:180:2",
"nodeType": "YulFunctionDefinition",
"src": "2675:180:2"
}
]
},
"contents": "{\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 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 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 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 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 store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x51() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x51)\n revert(0, 0x24)\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063893d20e814610038578063a6f9dae114610056575b5f80fd5b610040610072565b60405161004d9190610249565b60405180910390f35b610070600480360381019061006b9190610290565b610099565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011d90610315565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6a636f6e736f6c652e6c6f6790505f80835160208501845afa505050565b610208610333565b565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102338261020a565b9050919050565b61024381610229565b82525050565b5f60208201905061025c5f83018461023a565b92915050565b5f80fd5b61026f81610229565b8114610279575f80fd5b50565b5f8135905061028a81610266565b92915050565b5f602082840312156102a5576102a4610262565b5b5f6102b28482850161027c565b91505092915050565b5f82825260208201905092915050565b7f43616c6c6572206973206e6f74206f776e6572000000000000000000000000005f82015250565b5f6102ff6013836102bb565b915061030a826102cb565b602082019050919050565b5f6020820190508181035f83015261032c816102f3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea26469706673582212202d42bcc157aeb804df27c769944dd5130915388c50e8f9f700f740ca71a7ab3564736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xA6F9DAE1 EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x249 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x290 JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x126 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11D SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x342827C97908E5E2F71151C08502A66D44B6F758E3AC2F1DE95F02EB95F0A735 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH0 DUP1 DUP4 MLOAD PUSH1 0x20 DUP6 ADD DUP5 GAS STATICCALL POP POP POP JUMP JUMPDEST PUSH2 0x208 PUSH2 0x333 JUMP JUMPDEST JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x233 DUP3 PUSH2 0x20A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x243 DUP2 PUSH2 0x229 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x25C PUSH0 DUP4 ADD DUP5 PUSH2 0x23A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x26F DUP2 PUSH2 0x229 JUMP JUMPDEST DUP2 EQ PUSH2 0x279 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28A DUP2 PUSH2 0x266 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A5 JUMPI PUSH2 0x2A4 PUSH2 0x262 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x2B2 DUP5 DUP3 DUP6 ADD PUSH2 0x27C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F74206F776E657200000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x2FF PUSH1 0x13 DUP4 PUSH2 0x2BB JUMP JUMPDEST SWAP2 POP PUSH2 0x30A DUP3 PUSH2 0x2CB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x32C DUP2 PUSH2 0x2F3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x51 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2D TIMESTAMP 0xBC 0xC1 JUMPI 0xAE 0xB8 DIV 0xDF 0x27 0xC7 PUSH10 0x944DD5130915388C50E8 0xF9 0xF7 STOP 0xF7 BLOCKHASH 0xCA PUSH18 0xA7AB3564736F6C6343000815003300000000 ",
"sourceMap": "152:1413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1482:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1267:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1482:81;1525:7;1551:5;;;;;;;;;;;1544:12;;1482:81;:::o;1267:127::-;830:5;;;;;;;;;;816:19;;:10;:19;;;808:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;1352:8:::1;1336:25;;1345:5;::::0;::::1;;;;;;;;1336:25;;;;;;;;;;;;1379:8;1371:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1267:127:::0;:::o;180:463:1:-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;-1:-1:-1:-;;;:::i;:::-;:::o;7:126:2:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;674:117::-;783:1;780;773:12;920:122;993:24;1011:5;993:24;:::i;:::-;986:5;983:35;973:63;;1032:1;1029;1022:12;973:63;920:122;:::o;1048:139::-;1094:5;1132:6;1119:20;1110:29;;1148:33;1175:5;1148:33;:::i;:::-;1048:139;;;;:::o;1193:329::-;1252:6;1301:2;1289:9;1280:7;1276:23;1272:32;1269:119;;;1307:79;;:::i;:::-;1269:119;1427:1;1452:53;1497:7;1488:6;1477:9;1473:22;1452:53;:::i;:::-;1442:63;;1398:117;1193:329;;;;:::o;1528:169::-;1612:11;1646:6;1641:3;1634:19;1686:4;1681:3;1677:14;1662:29;;1528:169;;;;:::o;1703:::-;1843:21;1839:1;1831:6;1827:14;1820:45;1703:169;:::o;1878:366::-;2020:3;2041:67;2105:2;2100:3;2041:67;:::i;:::-;2034:74;;2117:93;2206:3;2117:93;:::i;:::-;2235:2;2230:3;2226:12;2219:19;;1878:366;;;:::o;2250:419::-;2416:4;2454:2;2443:9;2439:18;2431:26;;2503:9;2497:4;2493:20;2489:1;2478:9;2474:17;2467:47;2531:131;2657:4;2531:131;:::i;:::-;2523:139;;2250:419;;;:::o;2675:180::-;2723:77;2720:1;2713:88;2820:4;2817:1;2810:15;2844:4;2841:1;2834:15"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "183600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"changeOwner(address)": "30558",
"getOwner()": "2493"
}
},
"methodIdentifiers": {
"changeOwner(address)": "a6f9dae1",
"getOwner()": "893d20e8"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerSet",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerSet",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"details": "Set & change owner",
"kind": "dev",
"methods": {
"changeOwner(address)": {
"details": "Change owner",
"params": {
"newOwner": "address of new owner"
}
},
"constructor": {
"details": "Set contract deployer as owner"
},
"getOwner()": {
"details": "Return owner address ",
"returns": {
"_0": "address of owner"
}
}
},
"title": "Owner",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/2_Owner.sol": "Owner"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/2_Owner.sol": {
"keccak256": "0x78bbbec96c5bc30ed379cb4c7bc96af4af5c71a2ed6cbd7b202097223e055294",
"license": "GPL-3.0",
"urls": [
"bzz-raw://4e78c8bdef7b614a92576df195209a00fcc09bbaa00ec98c0ea29cb2118da1c5",
"dweb:/ipfs/QmWrv2qJbxtDegicpu5rLGk4LgXvYvo1qXMW7qQpD6vGSX"
]
},
"hardhat/console.sol": {
"keccak256": "0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a",
"license": "MIT",
"urls": [
"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395",
"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4"
]
}
},
"version": 1
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.19;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract ERC20Basic is IERC20 {
string public constant name = "KichrumERC20Basic";
string public constant symbol = "KICHTEST";
uint8 public constant decimals = 18;
mapping(address => uint256) balances;
mapping(address => mapping (address => uint256)) allowed;
uint256 totalSupply_ = 10 ether;
constructor() {
balances[msg.sender] = totalSupply_;
}
function totalSupply() public override view returns (uint256) {
return totalSupply_;
}
function balanceOf(address tokenOwner) public override view returns (uint256) {
return balances[tokenOwner];
}
function transfer(address receiver, uint256 numTokens) public override returns (bool) {
require(numTokens <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender]-numTokens;
balances[receiver] = balances[receiver]+numTokens;
emit Transfer(msg.sender, receiver, numTokens);
return true;
}
function approve(address delegate, uint256 numTokens) public override returns (bool) {
allowed[msg.sender][delegate] = numTokens;
emit Approval(msg.sender, delegate, numTokens);
return true;
}
function allowance(address owner, address delegate) public override view returns (uint) {
return allowed[owner][delegate];
}
function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {
require(numTokens <= balances[owner]);
require(numTokens <= allowed[owner][msg.sender]);
balances[owner] = balances[owner]-numTokens;
allowed[owner][msg.sender] = allowed[owner][msg.sender]-numTokens;
balances[buyer] = balances[buyer]+numTokens;
emit Transfer(owner, buyer, numTokens);
return true;
}
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.19;
pragma experimental ABIEncoderV2;
contract MyContract {
uint256 number;
string[] names;
mapping (string => uint) public phoneNumbers;
function changeNumber(uint256 _num) public {
number = _num;
}
function getNumber() public view returns (uint256) {
return number;
}
function incrementNumber(uint256 _num) public {
number += _num;
}
function incrementNumber() public {
incrementNumber(1);
}
function getNumberMultiplied(uint256 _num) public view returns (uint256) {
return number * _num;
}
function addNumbers(uint256 _num1, uint256 _num2) public {
number = _num1 + _num2;
}
function addName(string memory _name) public {
names.push(_name);
}
function getName(uint _index) public view returns (string memory) {
return names[_index];
}
function addMobileNumber(string memory _name, uint _mobileNumber) public {
phoneNumbers[_name] = _mobileNumber;
}
function getMobileNumber(string memory _name) public view returns (uint) {
return phoneNumbers[_name];
}
function getNamesLength() public view returns (uint) {
return names.length;
}
function getNames() public view returns (string[] memory) {
return names;
}
}
This file has been truncated, but you can view the full file.
{
"id": "1873076ac83fb01c15ec4677f7a56112",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.21",
"solcLongVersion": "0.8.21+commit.d9974bed",
"input": {
"language": "Solidity",
"sources": {
"contracts/ERC-20.sol": {
"content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.19;\n\ninterface IERC20 {\n\n function totalSupply() external view returns (uint256);\n function balanceOf(address account) external view returns (uint256);\n function allowance(address owner, address spender) external view returns (uint256);\n\n function transfer(address recipient, uint256 amount) external returns (bool);\n function approve(address spender, uint256 amount) external returns (bool);\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n\n\ncontract ERC20Basic is IERC20 {\n\n string public constant name = \"KichrumERC20Basic\";\n string public constant symbol = \"KICHTEST\";\n uint8 public constant decimals = 18;\n\n\n mapping(address => uint256) balances;\n\n mapping(address => mapping (address => uint256)) allowed;\n\n uint256 totalSupply_ = 10 ether;\n\n\n constructor() {\n balances[msg.sender] = totalSupply_;\n }\n\n function totalSupply() public override view returns (uint256) {\n return totalSupply_;\n }\n\n function balanceOf(address tokenOwner) public override view returns (uint256) {\n return balances[tokenOwner];\n }\n\n function transfer(address receiver, uint256 numTokens) public override returns (bool) {\n require(numTokens <= balances[msg.sender]);\n balances[msg.sender] = balances[msg.sender]-numTokens;\n balances[receiver] = balances[receiver]+numTokens;\n emit Transfer(msg.sender, receiver, numTokens);\n return true;\n }\n\n function approve(address delegate, uint256 numTokens) public override returns (bool) {\n allowed[msg.sender][delegate] = numTokens;\n emit Approval(msg.sender, delegate, numTokens);\n return true;\n }\n\n function allowance(address owner, address delegate) public override view returns (uint) {\n return allowed[owner][delegate];\n }\n\n function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {\n require(numTokens <= balances[owner]);\n require(numTokens <= allowed[owner][msg.sender]);\n\n balances[owner] = balances[owner]-numTokens;\n allowed[owner][msg.sender] = allowed[owner][msg.sender]-numTokens;\n balances[buyer] = balances[buyer]+numTokens;\n emit Transfer(owner, buyer, numTokens);\n return true;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/ERC-20.sol": {
"ERC20Basic": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"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": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "uint256",
"name": "numTokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/ERC-20.sol\":736:2544 contract ERC20Basic is IERC20 {... */\n mstore(0x40, 0x80)\n /* \"contracts/ERC-20.sol\":1048:1056 10 ether */\n 0x8ac7230489e80000\n /* \"contracts/ERC-20.sol\":1025:1056 uint256 totalSupply_ = 10 ether */\n 0x02\n sstore\n /* \"contracts/ERC-20.sol\":1063:1125 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/ERC-20.sol\":1106:1118 totalSupply_ */\n sload(0x02)\n /* \"contracts/ERC-20.sol\":1083:1091 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":1083:1103 balances[msg.sender] */\n dup1\n /* \"contracts/ERC-20.sol\":1092:1102 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1083:1103 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":1083:1118 balances[msg.sender] = totalSupply_ */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":736:2544 contract ERC20Basic is IERC20 {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/ERC-20.sol\":736:2544 contract ERC20Basic is IERC20 {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x313ce567\n gt\n tag_12\n jumpi\n dup1\n 0x313ce567\n eq\n tag_7\n jumpi\n dup1\n 0x70a08231\n eq\n tag_8\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_9\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_10\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_11\n jumpi\n jump(tag_2)\n tag_12:\n dup1\n 0x06fdde03\n eq\n tag_3\n jumpi\n dup1\n 0x095ea7b3\n eq\n tag_4\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_5\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/ERC-20.sol\":773:822 string public constant name = \"KichrumERC20Basic\" */\n tag_3:\n tag_13\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":1709:1929 function approve(address delegate, uint256 numTokens) public override returns (bool) {... */\n tag_4:\n tag_17\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n tag_20\n jump\t// in\n tag_17:\n mload(0x40)\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":1131:1225 function totalSupply() public override view returns (uint256) {... */\n tag_5:\n tag_23\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n tag_25\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":2077:2542 function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {... */\n tag_6:\n tag_27\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_28\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n tag_30\n jump\t// in\n tag_27:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_22\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":876:911 uint8 public constant decimals = 18 */\n tag_7:\n tag_32\n tag_33\n jump\t// in\n tag_32:\n mload(0x40)\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":1231:1353 function balanceOf(address tokenOwner) public override view returns (uint256) {... */\n tag_8:\n tag_36\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_37\n swap2\n swap1\n tag_38\n jump\t// in\n tag_37:\n tag_39\n jump\t// in\n tag_36:\n mload(0x40)\n tag_40\n swap2\n swap1\n tag_26\n jump\t// in\n tag_40:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":828:870 string public constant symbol = \"KICHTEST\" */\n tag_9:\n tag_41\n tag_42\n jump\t// in\n tag_41:\n mload(0x40)\n tag_43\n swap2\n swap1\n tag_16\n jump\t// in\n tag_43:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":1359:1703 function transfer(address receiver, uint256 numTokens) public override returns (bool) {... */\n tag_10:\n tag_44\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_45\n swap2\n swap1\n tag_19\n jump\t// in\n tag_45:\n tag_46\n jump\t// in\n tag_44:\n mload(0x40)\n tag_47\n swap2\n swap1\n tag_22\n jump\t// in\n tag_47:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":1935:2071 function allowance(address owner, address delegate) public override view returns (uint) {... */\n tag_11:\n tag_48\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_49\n swap2\n swap1\n tag_50\n jump\t// in\n tag_49:\n tag_51\n jump\t// in\n tag_48:\n mload(0x40)\n tag_52\n swap2\n swap1\n tag_26\n jump\t// in\n tag_52:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ERC-20.sol\":773:822 string public constant name = \"KichrumERC20Basic\" */\n tag_14:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x11\n dup2\n mstore\n 0x20\n add\n 0x4b69636872756d45524332304261736963000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/ERC-20.sol\":1709:1929 function approve(address delegate, uint256 numTokens) public override returns (bool) {... */\n tag_20:\n /* \"contracts/ERC-20.sol\":1788:1792 bool */\n 0x00\n /* \"contracts/ERC-20.sol\":1836:1845 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":1804:1811 allowed */\n 0x01\n /* \"contracts/ERC-20.sol\":1804:1823 allowed[msg.sender] */\n 0x00\n /* \"contracts/ERC-20.sol\":1812:1822 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1804:1823 allowed[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":1804:1833 allowed[msg.sender][delegate] */\n 0x00\n /* \"contracts/ERC-20.sol\":1824:1832 delegate */\n dup6\n /* \"contracts/ERC-20.sol\":1804:1833 allowed[msg.sender][delegate] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":1804:1845 allowed[msg.sender][delegate] = numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":1881:1889 delegate */\n dup3\n /* \"contracts/ERC-20.sol\":1860:1901 Approval(msg.sender, delegate, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ERC-20.sol\":1869:1879 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1860:1901 Approval(msg.sender, delegate, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n /* \"contracts/ERC-20.sol\":1891:1900 numTokens */\n dup5\n /* \"contracts/ERC-20.sol\":1860:1901 Approval(msg.sender, delegate, numTokens) */\n mload(0x40)\n tag_54\n swap2\n swap1\n tag_26\n jump\t// in\n tag_54:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/ERC-20.sol\":1918:1922 true */\n 0x01\n /* \"contracts/ERC-20.sol\":1911:1922 return true */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":1709:1929 function approve(address delegate, uint256 numTokens) public override returns (bool) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ERC-20.sol\":1131:1225 function totalSupply() public override view returns (uint256) {... */\n tag_24:\n /* \"contracts/ERC-20.sol\":1184:1191 uint256 */\n 0x00\n /* \"contracts/ERC-20.sol\":1206:1218 totalSupply_ */\n sload(0x02)\n /* \"contracts/ERC-20.sol\":1199:1218 return totalSupply_ */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":1131:1225 function totalSupply() public override view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/ERC-20.sol\":2077:2542 function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {... */\n tag_30:\n /* \"contracts/ERC-20.sol\":2173:2177 bool */\n 0x00\n /* \"contracts/ERC-20.sol\":2210:2218 balances */\n dup1\n /* \"contracts/ERC-20.sol\":2210:2225 balances[owner] */\n 0x00\n /* \"contracts/ERC-20.sol\":2219:2224 owner */\n dup6\n /* \"contracts/ERC-20.sol\":2210:2225 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2197:2206 numTokens */\n dup3\n /* \"contracts/ERC-20.sol\":2197:2225 numTokens <= balances[owner] */\n gt\n iszero\n /* \"contracts/ERC-20.sol\":2189:2226 require(numTokens <= balances[owner]) */\n tag_57\n jumpi\n 0x00\n dup1\n revert\n tag_57:\n /* \"contracts/ERC-20.sol\":2257:2264 allowed */\n 0x01\n /* \"contracts/ERC-20.sol\":2257:2271 allowed[owner] */\n 0x00\n /* \"contracts/ERC-20.sol\":2265:2270 owner */\n dup6\n /* \"contracts/ERC-20.sol\":2257:2271 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2257:2283 allowed[owner][msg.sender] */\n 0x00\n /* \"contracts/ERC-20.sol\":2272:2282 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":2257:2283 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2244:2253 numTokens */\n dup3\n /* \"contracts/ERC-20.sol\":2244:2283 numTokens <= allowed[owner][msg.sender] */\n gt\n iszero\n /* \"contracts/ERC-20.sol\":2236:2284 require(numTokens <= allowed[owner][msg.sender]) */\n tag_58\n jumpi\n 0x00\n dup1\n revert\n tag_58:\n /* \"contracts/ERC-20.sol\":2329:2338 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":2313:2321 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":2313:2328 balances[owner] */\n dup1\n /* \"contracts/ERC-20.sol\":2322:2327 owner */\n dup7\n /* \"contracts/ERC-20.sol\":2313:2328 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2313:2338 balances[owner]-numTokens */\n tag_59\n swap2\n swap1\n tag_60\n jump\t// in\n tag_59:\n /* \"contracts/ERC-20.sol\":2295:2303 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":2295:2310 balances[owner] */\n dup1\n /* \"contracts/ERC-20.sol\":2304:2309 owner */\n dup7\n /* \"contracts/ERC-20.sol\":2295:2310 balances[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2295:2338 balances[owner] = balances[owner]-numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":2404:2413 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":2377:2384 allowed */\n 0x01\n /* \"contracts/ERC-20.sol\":2377:2391 allowed[owner] */\n 0x00\n /* \"contracts/ERC-20.sol\":2385:2390 owner */\n dup7\n /* \"contracts/ERC-20.sol\":2377:2391 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2377:2403 allowed[owner][msg.sender] */\n 0x00\n /* \"contracts/ERC-20.sol\":2392:2402 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":2377:2403 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2377:2413 allowed[owner][msg.sender]-numTokens */\n tag_61\n swap2\n swap1\n tag_60\n jump\t// in\n tag_61:\n /* \"contracts/ERC-20.sol\":2348:2355 allowed */\n 0x01\n /* \"contracts/ERC-20.sol\":2348:2362 allowed[owner] */\n 0x00\n /* \"contracts/ERC-20.sol\":2356:2361 owner */\n dup7\n /* \"contracts/ERC-20.sol\":2348:2362 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2348:2374 allowed[owner][msg.sender] */\n 0x00\n /* \"contracts/ERC-20.sol\":2363:2373 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":2348:2374 allowed[owner][msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2348:2413 allowed[owner][msg.sender] = allowed[owner][msg.sender]-numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":2457:2466 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":2441:2449 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":2441:2456 balances[buyer] */\n dup1\n /* \"contracts/ERC-20.sol\":2450:2455 buyer */\n dup6\n /* \"contracts/ERC-20.sol\":2441:2456 balances[buyer] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2441:2466 balances[buyer]+numTokens */\n tag_62\n swap2\n swap1\n tag_63\n jump\t// in\n tag_62:\n /* \"contracts/ERC-20.sol\":2423:2431 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":2423:2438 balances[buyer] */\n dup1\n /* \"contracts/ERC-20.sol\":2432:2437 buyer */\n dup6\n /* \"contracts/ERC-20.sol\":2423:2438 balances[buyer] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2423:2466 balances[buyer] = balances[buyer]+numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":2497:2502 buyer */\n dup3\n /* \"contracts/ERC-20.sol\":2481:2514 Transfer(owner, buyer, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ERC-20.sol\":2490:2495 owner */\n dup5\n /* \"contracts/ERC-20.sol\":2481:2514 Transfer(owner, buyer, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"contracts/ERC-20.sol\":2504:2513 numTokens */\n dup5\n /* \"contracts/ERC-20.sol\":2481:2514 Transfer(owner, buyer, numTokens) */\n mload(0x40)\n tag_64\n swap2\n swap1\n tag_26\n jump\t// in\n tag_64:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/ERC-20.sol\":2531:2535 true */\n 0x01\n /* \"contracts/ERC-20.sol\":2524:2535 return true */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":2077:2542 function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ERC-20.sol\":876:911 uint8 public constant decimals = 18 */\n tag_33:\n /* \"contracts/ERC-20.sol\":909:911 18 */\n 0x12\n /* \"contracts/ERC-20.sol\":876:911 uint8 public constant decimals = 18 */\n dup2\n jump\t// out\n /* \"contracts/ERC-20.sol\":1231:1353 function balanceOf(address tokenOwner) public override view returns (uint256) {... */\n tag_39:\n /* \"contracts/ERC-20.sol\":1300:1307 uint256 */\n 0x00\n /* \"contracts/ERC-20.sol\":1326:1334 balances */\n dup1\n /* \"contracts/ERC-20.sol\":1326:1346 balances[tokenOwner] */\n 0x00\n /* \"contracts/ERC-20.sol\":1335:1345 tokenOwner */\n dup4\n /* \"contracts/ERC-20.sol\":1326:1346 balances[tokenOwner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":1319:1346 return balances[tokenOwner] */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":1231:1353 function balanceOf(address tokenOwner) public override view returns (uint256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/ERC-20.sol\":828:870 string public constant symbol = \"KICHTEST\" */\n tag_42:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n 0x4b49434854455354000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n jump\t// out\n /* \"contracts/ERC-20.sol\":1359:1703 function transfer(address receiver, uint256 numTokens) public override returns (bool) {... */\n tag_46:\n /* \"contracts/ERC-20.sol\":1439:1443 bool */\n 0x00\n /* \"contracts/ERC-20.sol\":1476:1484 balances */\n dup1\n /* \"contracts/ERC-20.sol\":1476:1496 balances[msg.sender] */\n 0x00\n /* \"contracts/ERC-20.sol\":1485:1495 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1476:1496 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":1463:1472 numTokens */\n dup3\n /* \"contracts/ERC-20.sol\":1463:1496 numTokens <= balances[msg.sender] */\n gt\n iszero\n /* \"contracts/ERC-20.sol\":1455:1497 require(numTokens <= balances[msg.sender]) */\n tag_67\n jumpi\n 0x00\n dup1\n revert\n tag_67:\n /* \"contracts/ERC-20.sol\":1551:1560 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":1530:1538 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":1530:1550 balances[msg.sender] */\n dup1\n /* \"contracts/ERC-20.sol\":1539:1549 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1530:1550 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":1530:1560 balances[msg.sender]-numTokens */\n tag_68\n swap2\n swap1\n tag_60\n jump\t// in\n tag_68:\n /* \"contracts/ERC-20.sol\":1507:1515 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":1507:1527 balances[msg.sender] */\n dup1\n /* \"contracts/ERC-20.sol\":1516:1526 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1507:1527 balances[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":1507:1560 balances[msg.sender] = balances[msg.sender]-numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":1610:1619 numTokens */\n dup2\n /* \"contracts/ERC-20.sol\":1591:1599 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":1591:1609 balances[receiver] */\n dup1\n /* \"contracts/ERC-20.sol\":1600:1608 receiver */\n dup6\n /* \"contracts/ERC-20.sol\":1591:1609 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":1591:1619 balances[receiver]+numTokens */\n tag_69\n swap2\n swap1\n tag_63\n jump\t// in\n tag_69:\n /* \"contracts/ERC-20.sol\":1570:1578 balances */\n 0x00\n /* \"contracts/ERC-20.sol\":1570:1588 balances[receiver] */\n dup1\n /* \"contracts/ERC-20.sol\":1579:1587 receiver */\n dup6\n /* \"contracts/ERC-20.sol\":1570:1588 balances[receiver] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":1570:1619 balances[receiver] = balances[receiver]+numTokens */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/ERC-20.sol\":1655:1663 receiver */\n dup3\n /* \"contracts/ERC-20.sol\":1634:1675 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/ERC-20.sol\":1643:1653 msg.sender */\n caller\n /* \"contracts/ERC-20.sol\":1634:1675 Transfer(msg.sender, receiver, numTokens) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n /* \"contracts/ERC-20.sol\":1665:1674 numTokens */\n dup5\n /* \"contracts/ERC-20.sol\":1634:1675 Transfer(msg.sender, receiver, numTokens) */\n mload(0x40)\n tag_70\n swap2\n swap1\n tag_26\n jump\t// in\n tag_70:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/ERC-20.sol\":1692:1696 true */\n 0x01\n /* \"contracts/ERC-20.sol\":1685:1696 return true */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":1359:1703 function transfer(address receiver, uint256 numTokens) public override returns (bool) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ERC-20.sol\":1935:2071 function allowance(address owner, address delegate) public override view returns (uint) {... */\n tag_51:\n /* \"contracts/ERC-20.sol\":2017:2021 uint */\n 0x00\n /* \"contracts/ERC-20.sol\":2040:2047 allowed */\n 0x01\n /* \"contracts/ERC-20.sol\":2040:2054 allowed[owner] */\n 0x00\n /* \"contracts/ERC-20.sol\":2048:2053 owner */\n dup5\n /* \"contracts/ERC-20.sol\":2040:2054 allowed[owner] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ERC-20.sol\":2040:2064 allowed[owner][delegate] */\n 0x00\n /* \"contracts/ERC-20.sol\":2055:2063 delegate */\n dup4\n /* \"contracts/ERC-20.sol\":2040:2064 allowed[owner][delegate] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ERC-20.sol\":2033:2064 return allowed[owner][delegate] */\n swap1\n pop\n /* \"contracts/ERC-20.sol\":1935:2071 function allowance(address owner, address delegate) public override view returns (uint) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_72:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_73:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:533 */\n tag_74:\n /* \"#utility.yul\":368:369 */\n 0x00\n /* \"#utility.yul\":378:491 */\n tag_97:\n /* \"#utility.yul\":392:398 */\n dup4\n /* \"#utility.yul\":389:390 */\n dup2\n /* \"#utility.yul\":386:399 */\n lt\n /* \"#utility.yul\":378:491 */\n iszero\n tag_99\n jumpi\n /* \"#utility.yul\":477:478 */\n dup1\n /* \"#utility.yul\":472:475 */\n dup3\n /* \"#utility.yul\":468:479 */\n add\n /* \"#utility.yul\":462:480 */\n mload\n /* \"#utility.yul\":458:459 */\n dup2\n /* \"#utility.yul\":453:456 */\n dup5\n /* \"#utility.yul\":449:460 */\n add\n /* \"#utility.yul\":442:481 */\n mstore\n /* \"#utility.yul\":414:416 */\n 0x20\n /* \"#utility.yul\":411:412 */\n dup2\n /* \"#utility.yul\":407:417 */\n add\n /* \"#utility.yul\":402:417 */\n swap1\n pop\n /* \"#utility.yul\":378:491 */\n jump(tag_97)\n tag_99:\n /* \"#utility.yul\":525:526 */\n 0x00\n /* \"#utility.yul\":516:522 */\n dup5\n /* \"#utility.yul\":511:514 */\n dup5\n /* \"#utility.yul\":507:523 */\n add\n /* \"#utility.yul\":500:527 */\n mstore\n /* \"#utility.yul\":349:533 */\n pop\n /* \"#utility.yul\":287:533 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":539:641 */\n tag_75:\n /* \"#utility.yul\":580:586 */\n 0x00\n /* \"#utility.yul\":631:633 */\n 0x1f\n /* \"#utility.yul\":627:634 */\n not\n /* \"#utility.yul\":622:624 */\n 0x1f\n /* \"#utility.yul\":615:620 */\n dup4\n /* \"#utility.yul\":611:625 */\n add\n /* \"#utility.yul\":607:635 */\n and\n /* \"#utility.yul\":597:635 */\n swap1\n pop\n /* \"#utility.yul\":539:641 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":647:1024 */\n tag_76:\n /* \"#utility.yul\":735:738 */\n 0x00\n /* \"#utility.yul\":763:802 */\n tag_102\n /* \"#utility.yul\":796:801 */\n dup3\n /* \"#utility.yul\":763:802 */\n tag_72\n jump\t// in\n tag_102:\n /* \"#utility.yul\":818:889 */\n tag_103\n /* \"#utility.yul\":882:888 */\n dup2\n /* \"#utility.yul\":877:880 */\n dup6\n /* \"#utility.yul\":818:889 */\n tag_73\n jump\t// in\n tag_103:\n /* \"#utility.yul\":811:889 */\n swap4\n pop\n /* \"#utility.yul\":898:963 */\n tag_104\n /* \"#utility.yul\":956:962 */\n dup2\n /* \"#utility.yul\":951:954 */\n dup6\n /* \"#utility.yul\":944:948 */\n 0x20\n /* \"#utility.yul\":937:942 */\n dup7\n /* \"#utility.yul\":933:949 */\n add\n /* \"#utility.yul\":898:963 */\n tag_74\n jump\t// in\n tag_104:\n /* \"#utility.yul\":988:1017 */\n tag_105\n /* \"#utility.yul\":1010:1016 */\n dup2\n /* \"#utility.yul\":988:1017 */\n tag_75\n jump\t// in\n tag_105:\n /* \"#utility.yul\":983:986 */\n dup5\n /* \"#utility.yul\":979:1018 */\n add\n /* \"#utility.yul\":972:1018 */\n swap2\n pop\n /* \"#utility.yul\":739:1024 */\n pop\n /* \"#utility.yul\":647:1024 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1030:1343 */\n tag_16:\n /* \"#utility.yul\":1143:1147 */\n 0x00\n /* \"#utility.yul\":1181:1183 */\n 0x20\n /* \"#utility.yul\":1170:1179 */\n dup3\n /* \"#utility.yul\":1166:1184 */\n add\n /* \"#utility.yul\":1158:1184 */\n swap1\n pop\n /* \"#utility.yul\":1230:1239 */\n dup2\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1220:1240 */\n sub\n /* \"#utility.yul\":1216:1217 */\n 0x00\n /* \"#utility.yul\":1205:1214 */\n dup4\n /* \"#utility.yul\":1201:1218 */\n add\n /* \"#utility.yul\":1194:1241 */\n mstore\n /* \"#utility.yul\":1258:1336 */\n tag_107\n /* \"#utility.yul\":1331:1335 */\n dup2\n /* \"#utility.yul\":1322:1328 */\n dup5\n /* \"#utility.yul\":1258:1336 */\n tag_76\n jump\t// in\n tag_107:\n /* \"#utility.yul\":1250:1336 */\n swap1\n pop\n /* \"#utility.yul\":1030:1343 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1430:1547 */\n tag_78:\n /* \"#utility.yul\":1539:1540 */\n 0x00\n /* \"#utility.yul\":1536:1537 */\n dup1\n /* \"#utility.yul\":1529:1541 */\n revert\n /* \"#utility.yul\":1676:1802 */\n tag_80:\n /* \"#utility.yul\":1713:1720 */\n 0x00\n /* \"#utility.yul\":1753:1795 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1746:1751 */\n dup3\n /* \"#utility.yul\":1742:1796 */\n and\n /* \"#utility.yul\":1731:1796 */\n swap1\n pop\n /* \"#utility.yul\":1676:1802 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1808:1904 */\n tag_81:\n /* \"#utility.yul\":1845:1852 */\n 0x00\n /* \"#utility.yul\":1874:1898 */\n tag_113\n /* \"#utility.yul\":1892:1897 */\n dup3\n /* \"#utility.yul\":1874:1898 */\n tag_80\n jump\t// in\n tag_113:\n /* \"#utility.yul\":1863:1898 */\n swap1\n pop\n /* \"#utility.yul\":1808:1904 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1910:2032 */\n tag_82:\n /* \"#utility.yul\":1983:2007 */\n tag_115\n /* \"#utility.yul\":2001:2006 */\n dup2\n /* \"#utility.yul\":1983:2007 */\n tag_81\n jump\t// in\n tag_115:\n /* \"#utility.yul\":1976:1981 */\n dup2\n /* \"#utility.yul\":1973:2008 */\n eq\n /* \"#utility.yul\":1963:2026 */\n tag_116\n jumpi\n /* \"#utility.yul\":2022:2023 */\n 0x00\n /* \"#utility.yul\":2019:2020 */\n dup1\n /* \"#utility.yul\":2012:2024 */\n revert\n /* \"#utility.yul\":1963:2026 */\n tag_116:\n /* \"#utility.yul\":1910:2032 */\n pop\n jump\t// out\n /* \"#utility.yul\":2038:2177 */\n tag_83:\n /* \"#utility.yul\":2084:2089 */\n 0x00\n /* \"#utility.yul\":2122:2128 */\n dup2\n /* \"#utility.yul\":2109:2129 */\n calldataload\n /* \"#utility.yul\":2100:2129 */\n swap1\n pop\n /* \"#utility.yul\":2138:2171 */\n tag_118\n /* \"#utility.yul\":2165:2170 */\n dup2\n /* \"#utility.yul\":2138:2171 */\n tag_82\n jump\t// in\n tag_118:\n /* \"#utility.yul\":2038:2177 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2183:2260 */\n tag_84:\n /* \"#utility.yul\":2220:2227 */\n 0x00\n /* \"#utility.yul\":2249:2254 */\n dup2\n /* \"#utility.yul\":2238:2254 */\n swap1\n pop\n /* \"#utility.yul\":2183:2260 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2266:2388 */\n tag_85:\n /* \"#utility.yul\":2339:2363 */\n tag_121\n /* \"#utility.yul\":2357:2362 */\n dup2\n /* \"#utility.yul\":2339:2363 */\n tag_84\n jump\t// in\n tag_121:\n /* \"#utility.yul\":2332:2337 */\n dup2\n /* \"#utility.yul\":2329:2364 */\n eq\n /* \"#utility.yul\":2319:2382 */\n tag_122\n jumpi\n /* \"#utility.yul\":2378:2379 */\n 0x00\n /* \"#utility.yul\":2375:2376 */\n dup1\n /* \"#utility.yul\":2368:2380 */\n revert\n /* \"#utility.yul\":2319:2382 */\n tag_122:\n /* \"#utility.yul\":2266:2388 */\n pop\n jump\t// out\n /* \"#utility.yul\":2394:2533 */\n tag_86:\n /* \"#utility.yul\":2440:2445 */\n 0x00\n /* \"#utility.yul\":2478:2484 */\n dup2\n /* \"#utility.yul\":2465:2485 */\n calldataload\n /* \"#utility.yul\":2456:2485 */\n swap1\n pop\n /* \"#utility.yul\":2494:2527 */\n tag_124\n /* \"#utility.yul\":2521:2526 */\n dup2\n /* \"#utility.yul\":2494:2527 */\n tag_85\n jump\t// in\n tag_124:\n /* \"#utility.yul\":2394:2533 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2539:3013 */\n tag_19:\n /* \"#utility.yul\":2607:2613 */\n 0x00\n /* \"#utility.yul\":2615:2621 */\n dup1\n /* \"#utility.yul\":2664:2666 */\n 0x40\n /* \"#utility.yul\":2652:2661 */\n dup4\n /* \"#utility.yul\":2643:2650 */\n dup6\n /* \"#utility.yul\":2639:2662 */\n sub\n /* \"#utility.yul\":2635:2667 */\n slt\n /* \"#utility.yul\":2632:2751 */\n iszero\n tag_126\n jumpi\n /* \"#utility.yul\":2670:2749 */\n tag_127\n tag_78\n jump\t// in\n tag_127:\n /* \"#utility.yul\":2632:2751 */\n tag_126:\n /* \"#utility.yul\":2790:2791 */\n 0x00\n /* \"#utility.yul\":2815:2868 */\n tag_128\n /* \"#utility.yul\":2860:2867 */\n dup6\n /* \"#utility.yul\":2851:2857 */\n dup3\n /* \"#utility.yul\":2840:2849 */\n dup7\n /* \"#utility.yul\":2836:2858 */\n add\n /* \"#utility.yul\":2815:2868 */\n tag_83\n jump\t// in\n tag_128:\n /* \"#utility.yul\":2805:2868 */\n swap3\n pop\n /* \"#utility.yul\":2761:2878 */\n pop\n /* \"#utility.yul\":2917:2919 */\n 0x20\n /* \"#utility.yul\":2943:2996 */\n tag_129\n /* \"#utility.yul\":2988:2995 */\n dup6\n /* \"#utility.yul\":2979:2985 */\n dup3\n /* \"#utility.yul\":2968:2977 */\n dup7\n /* \"#utility.yul\":2964:2986 */\n add\n /* \"#utility.yul\":2943:2996 */\n tag_86\n jump\t// in\n tag_129:\n /* \"#utility.yul\":2933:2996 */\n swap2\n pop\n /* \"#utility.yul\":2888:3006 */\n pop\n /* \"#utility.yul\":2539:3013 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3019:3109 */\n tag_87:\n /* \"#utility.yul\":3053:3060 */\n 0x00\n /* \"#utility.yul\":3096:3101 */\n dup2\n /* \"#utility.yul\":3089:3102 */\n iszero\n /* \"#utility.yul\":3082:3103 */\n iszero\n /* \"#utility.yul\":3071:3103 */\n swap1\n pop\n /* \"#utility.yul\":3019:3109 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3115:3224 */\n tag_88:\n /* \"#utility.yul\":3196:3217 */\n tag_132\n /* \"#utility.yul\":3211:3216 */\n dup2\n /* \"#utility.yul\":3196:3217 */\n tag_87\n jump\t// in\n tag_132:\n /* \"#utility.yul\":3191:3194 */\n dup3\n /* \"#utility.yul\":3184:3218 */\n mstore\n /* \"#utility.yul\":3115:3224 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3230:3440 */\n tag_22:\n /* \"#utility.yul\":3317:3321 */\n 0x00\n /* \"#utility.yul\":3355:3357 */\n 0x20\n /* \"#utility.yul\":3344:3353 */\n dup3\n /* \"#utility.yul\":3340:3358 */\n add\n /* \"#utility.yul\":3332:3358 */\n swap1\n pop\n /* \"#utility.yul\":3368:3433 */\n tag_134\n /* \"#utility.yul\":3430:3431 */\n 0x00\n /* \"#utility.yul\":3419:3428 */\n dup4\n /* \"#utility.yul\":3415:3432 */\n add\n /* \"#utility.yul\":3406:3412 */\n dup5\n /* \"#utility.yul\":3368:3433 */\n tag_88\n jump\t// in\n tag_134:\n /* \"#utility.yul\":3230:3440 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3446:3564 */\n tag_89:\n /* \"#utility.yul\":3533:3557 */\n tag_136\n /* \"#utility.yul\":3551:3556 */\n dup2\n /* \"#utility.yul\":3533:3557 */\n tag_84\n jump\t// in\n tag_136:\n /* \"#utility.yul\":3528:3531 */\n dup3\n /* \"#utility.yul\":3521:3558 */\n mstore\n /* \"#utility.yul\":3446:3564 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3570:3792 */\n tag_26:\n /* \"#utility.yul\":3663:3667 */\n 0x00\n /* \"#utility.yul\":3701:3703 */\n 0x20\n /* \"#utility.yul\":3690:3699 */\n dup3\n /* \"#utility.yul\":3686:3704 */\n add\n /* \"#utility.yul\":3678:3704 */\n swap1\n pop\n /* \"#utility.yul\":3714:3785 */\n tag_138\n /* \"#utility.yul\":3782:3783 */\n 0x00\n /* \"#utility.yul\":3771:3780 */\n dup4\n /* \"#utility.yul\":3767:3784 */\n add\n /* \"#utility.yul\":3758:3764 */\n dup5\n /* \"#utility.yul\":3714:3785 */\n tag_89\n jump\t// in\n tag_138:\n /* \"#utility.yul\":3570:3792 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3798:4417 */\n tag_29:\n /* \"#utility.yul\":3875:3881 */\n 0x00\n /* \"#utility.yul\":3883:3889 */\n dup1\n /* \"#utility.yul\":3891:3897 */\n 0x00\n /* \"#utility.yul\":3940:3942 */\n 0x60\n /* \"#utility.yul\":3928:3937 */\n dup5\n /* \"#utility.yul\":3919:3926 */\n dup7\n /* \"#utility.yul\":3915:3938 */\n sub\n /* \"#utility.yul\":3911:3943 */\n slt\n /* \"#utility.yul\":3908:4027 */\n iszero\n tag_140\n jumpi\n /* \"#utility.yul\":3946:4025 */\n tag_141\n tag_78\n jump\t// in\n tag_141:\n /* \"#utility.yul\":3908:4027 */\n tag_140:\n /* \"#utility.yul\":4066:4067 */\n 0x00\n /* \"#utility.yul\":4091:4144 */\n tag_142\n /* \"#utility.yul\":4136:4143 */\n dup7\n /* \"#utility.yul\":4127:4133 */\n dup3\n /* \"#utility.yul\":4116:4125 */\n dup8\n /* \"#utility.yul\":4112:4134 */\n add\n /* \"#utility.yul\":4091:4144 */\n tag_83\n jump\t// in\n tag_142:\n /* \"#utility.yul\":4081:4144 */\n swap4\n pop\n /* \"#utility.yul\":4037:4154 */\n pop\n /* \"#utility.yul\":4193:4195 */\n 0x20\n /* \"#utility.yul\":4219:4272 */\n tag_143\n /* \"#utility.yul\":4264:4271 */\n dup7\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4244:4253 */\n dup8\n /* \"#utility.yul\":4240:4262 */\n add\n /* \"#utility.yul\":4219:4272 */\n tag_83\n jump\t// in\n tag_143:\n /* \"#utility.yul\":4209:4272 */\n swap3\n pop\n /* \"#utility.yul\":4164:4282 */\n pop\n /* \"#utility.yul\":4321:4323 */\n 0x40\n /* \"#utility.yul\":4347:4400 */\n tag_144\n /* \"#utility.yul\":4392:4399 */\n dup7\n /* \"#utility.yul\":4383:4389 */\n dup3\n /* \"#utility.yul\":4372:4381 */\n dup8\n /* \"#utility.yul\":4368:4390 */\n add\n /* \"#utility.yul\":4347:4400 */\n tag_86\n jump\t// in\n tag_144:\n /* \"#utility.yul\":4337:4400 */\n swap2\n pop\n /* \"#utility.yul\":4292:4410 */\n pop\n /* \"#utility.yul\":3798:4417 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":4423:4509 */\n tag_90:\n /* \"#utility.yul\":4458:4465 */\n 0x00\n /* \"#utility.yul\":4498:4502 */\n 0xff\n /* \"#utility.yul\":4491:4496 */\n dup3\n /* \"#utility.yul\":4487:4503 */\n and\n /* \"#utility.yul\":4476:4503 */\n swap1\n pop\n /* \"#utility.yul\":4423:4509 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4515:4627 */\n tag_91:\n /* \"#utility.yul\":4598:4620 */\n tag_147\n /* \"#utility.yul\":4614:4619 */\n dup2\n /* \"#utility.yul\":4598:4620 */\n tag_90\n jump\t// in\n tag_147:\n /* \"#utility.yul\":4593:4596 */\n dup3\n /* \"#utility.yul\":4586:4621 */\n mstore\n /* \"#utility.yul\":4515:4627 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4633:4847 */\n tag_35:\n /* \"#utility.yul\":4722:4726 */\n 0x00\n /* \"#utility.yul\":4760:4762 */\n 0x20\n /* \"#utility.yul\":4749:4758 */\n dup3\n /* \"#utility.yul\":4745:4763 */\n add\n /* \"#utility.yul\":4737:4763 */\n swap1\n pop\n /* \"#utility.yul\":4773:4840 */\n tag_149\n /* \"#utility.yul\":4837:4838 */\n 0x00\n /* \"#utility.yul\":4826:4835 */\n dup4\n /* \"#utility.yul\":4822:4839 */\n add\n /* \"#utility.yul\":4813:4819 */\n dup5\n /* \"#utility.yul\":4773:4840 */\n tag_91\n jump\t// in\n tag_149:\n /* \"#utility.yul\":4633:4847 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4853:5182 */\n tag_38:\n /* \"#utility.yul\":4912:4918 */\n 0x00\n /* \"#utility.yul\":4961:4963 */\n 0x20\n /* \"#utility.yul\":4949:4958 */\n dup3\n /* \"#utility.yul\":4940:4947 */\n dup5\n /* \"#utility.yul\":4936:4959 */\n sub\n /* \"#utility.yul\":4932:4964 */\n slt\n /* \"#utility.yul\":4929:5048 */\n iszero\n tag_151\n jumpi\n /* \"#utility.yul\":4967:5046 */\n tag_152\n tag_78\n jump\t// in\n tag_152:\n /* \"#utility.yul\":4929:5048 */\n tag_151:\n /* \"#utility.yul\":5087:5088 */\n 0x00\n /* \"#utility.yul\":5112:5165 */\n tag_153\n /* \"#utility.yul\":5157:5164 */\n dup5\n /* \"#utility.yul\":5148:5154 */\n dup3\n /* \"#utility.yul\":5137:5146 */\n dup6\n /* \"#utility.yul\":5133:5155 */\n add\n /* \"#utility.yul\":5112:5165 */\n tag_83\n jump\t// in\n tag_153:\n /* \"#utility.yul\":5102:5165 */\n swap2\n pop\n /* \"#utility.yul\":5058:5175 */\n pop\n /* \"#utility.yul\":4853:5182 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5188:5662 */\n tag_50:\n /* \"#utility.yul\":5256:5262 */\n 0x00\n /* \"#utility.yul\":5264:5270 */\n dup1\n /* \"#utility.yul\":5313:5315 */\n 0x40\n /* \"#utility.yul\":5301:5310 */\n dup4\n /* \"#utility.yul\":5292:5299 */\n dup6\n /* \"#utility.yul\":5288:5311 */\n sub\n /* \"#utility.yul\":5284:5316 */\n slt\n /* \"#utility.yul\":5281:5400 */\n iszero\n tag_155\n jumpi\n /* \"#utility.yul\":5319:5398 */\n tag_156\n tag_78\n jump\t// in\n tag_156:\n /* \"#utility.yul\":5281:5400 */\n tag_155:\n /* \"#utility.yul\":5439:5440 */\n 0x00\n /* \"#utility.yul\":5464:5517 */\n tag_157\n /* \"#utility.yul\":5509:5516 */\n dup6\n /* \"#utility.yul\":5500:5506 */\n dup3\n /* \"#utility.yul\":5489:5498 */\n dup7\n /* \"#utility.yul\":5485:5507 */\n add\n /* \"#utility.yul\":5464:5517 */\n tag_83\n jump\t// in\n tag_157:\n /* \"#utility.yul\":5454:5517 */\n swap3\n pop\n /* \"#utility.yul\":5410:5527 */\n pop\n /* \"#utility.yul\":5566:5568 */\n 0x20\n /* \"#utility.yul\":5592:5645 */\n tag_158\n /* \"#utility.yul\":5637:5644 */\n dup6\n /* \"#utility.yul\":5628:5634 */\n dup3\n /* \"#utility.yul\":5617:5626 */\n dup7\n /* \"#utility.yul\":5613:5635 */\n add\n /* \"#utility.yul\":5592:5645 */\n tag_83\n jump\t// in\n tag_158:\n /* \"#utility.yul\":5582:5645 */\n swap2\n pop\n /* \"#utility.yul\":5537:5655 */\n pop\n /* \"#utility.yul\":5188:5662 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5668:5848 */\n tag_92:\n /* \"#utility.yul\":5716:5793 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5713:5714 */\n 0x00\n /* \"#utility.yul\":5706:5794 */\n mstore\n /* \"#utility.yul\":5813:5817 */\n 0x11\n /* \"#utility.yul\":5810:5811 */\n 0x04\n /* \"#utility.yul\":5803:5818 */\n mstore\n /* \"#utility.yul\":5837:5841 */\n 0x24\n /* \"#utility.yul\":5834:5835 */\n 0x00\n /* \"#utility.yul\":5827:5842 */\n revert\n /* \"#utility.yul\":5854:6048 */\n tag_60:\n /* \"#utility.yul\":5894:5898 */\n 0x00\n /* \"#utility.yul\":5914:5934 */\n tag_161\n /* \"#utility.yul\":5932:5933 */\n dup3\n /* \"#utility.yul\":5914:5934 */\n tag_84\n jump\t// in\n tag_161:\n /* \"#utility.yul\":5909:5934 */\n swap2\n pop\n /* \"#utility.yul\":5948:5968 */\n tag_162\n /* \"#utility.yul\":5966:5967 */\n dup4\n /* \"#utility.yul\":5948:5968 */\n tag_84\n jump\t// in\n tag_162:\n /* \"#utility.yul\":5943:5968 */\n swap3\n pop\n /* \"#utility.yul\":5992:5993 */\n dup3\n /* \"#utility.yul\":5989:5990 */\n dup3\n /* \"#utility.yul\":5985:5994 */\n sub\n /* \"#utility.yul\":5977:5994 */\n swap1\n pop\n /* \"#utility.yul\":6016:6017 */\n dup2\n /* \"#utility.yul\":6010:6014 */\n dup2\n /* \"#utility.yul\":6007:6018 */\n gt\n /* \"#utility.yul\":6004:6041 */\n iszero\n tag_163\n jumpi\n /* \"#utility.yul\":6021:6039 */\n tag_164\n tag_92\n jump\t// in\n tag_164:\n /* \"#utility.yul\":6004:6041 */\n tag_163:\n /* \"#utility.yul\":5854:6048 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6054:6245 */\n tag_63:\n /* \"#utility.yul\":6094:6097 */\n 0x00\n /* \"#utility.yul\":6113:6133 */\n tag_166\n /* \"#utility.yul\":6131:6132 */\n dup3\n /* \"#utility.yul\":6113:6133 */\n tag_84\n jump\t// in\n tag_166:\n /* \"#utility.yul\":6108:6133 */\n swap2\n pop\n /* \"#utility.yul\":6147:6167 */\n tag_167\n /* \"#utility.yul\":6165:6166 */\n dup4\n /* \"#utility.yul\":6147:6167 */\n tag_84\n jump\t// in\n tag_167:\n /* \"#utility.yul\":6142:6167 */\n swap3\n pop\n /* \"#utility.yul\":6190:6191 */\n dup3\n /* \"#utility.yul\":6187:6188 */\n dup3\n /* \"#utility.yul\":6183:6192 */\n add\n /* \"#utility.yul\":6176:6192 */\n swap1\n pop\n /* \"#utility.yul\":6211:6214 */\n dup1\n /* \"#utility.yul\":6208:6209 */\n dup3\n /* \"#utility.yul\":6205:6215 */\n gt\n /* \"#utility.yul\":6202:6238 */\n iszero\n tag_168\n jumpi\n /* \"#utility.yul\":6218:6236 */\n tag_169\n tag_92\n jump\t// in\n tag_169:\n /* \"#utility.yul\":6202:6238 */\n tag_168:\n /* \"#utility.yul\":6054:6245 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220b8473b709c6938fb8e858410aa42578d70b625b84a7ca5ba6a3bd82a9f6218d264736f6c63430008150033\n}\n",
"bytecode": {
"functionDebugData": {
"@_103": {
"entryPoint": null,
"id": 103,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052678ac7230489e8000060025534801561001b575f80fd5b506002545f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610cd08061006c5f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa91906109d0565b60405180910390f35b6100cd60048036038101906100c89190610a81565b610236565b6040516100da9190610ad9565b60405180910390f35b6100eb610323565b6040516100f89190610b01565b60405180910390f35b61011b60048036038101906101169190610b1a565b61032c565b6040516101289190610ad9565b60405180910390f35b610139610679565b6040516101469190610b85565b60405180910390f35b61016960048036038101906101649190610b9e565b61067e565b6040516101769190610b01565b60405180910390f35b6101876106c3565b60405161019491906109d0565b60405180910390f35b6101b760048036038101906101b29190610a81565b6106fc565b6040516101c49190610ad9565b60405180910390f35b6101e760048036038101906101e29190610bc9565b6108c4565b6040516101f49190610b01565b60405180910390f35b6040518060400160405280601181526020017f4b69636872756d4552433230426173696300000000000000000000000000000081525081565b5f8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103119190610b01565b60405180910390a36001905092915050565b5f600254905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610375575f80fd5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548211156103f9575f80fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546104419190610c34565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105059190610c34565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105c99190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106669190610b01565b60405180910390a3600190509392505050565b601281565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6040518060400160405280600881526020017f4b4943485445535400000000000000000000000000000000000000000000000081525081565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610745575f80fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461078d9190610c34565b5f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108159190610c67565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108b29190610b01565b60405180910390a36001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561097d578082015181840152602081019050610962565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6109a282610946565b6109ac8185610950565b93506109bc818560208601610960565b6109c581610988565b840191505092915050565b5f6020820190508181035f8301526109e88184610998565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a1d826109f4565b9050919050565b610a2d81610a13565b8114610a37575f80fd5b50565b5f81359050610a4881610a24565b92915050565b5f819050919050565b610a6081610a4e565b8114610a6a575f80fd5b50565b5f81359050610a7b81610a57565b92915050565b5f8060408385031215610a9757610a966109f0565b5b5f610aa485828601610a3a565b9250506020610ab585828601610a6d565b9150509250929050565b5f8115159050919050565b610ad381610abf565b82525050565b5f602082019050610aec5f830184610aca565b92915050565b610afb81610a4e565b82525050565b5f602082019050610b145f830184610af2565b92915050565b5f805f60608486031215610b3157610b306109f0565b5b5f610b3e86828701610a3a565b9350506020610b4f86828701610a3a565b9250506040610b6086828701610a6d565b9150509250925092565b5f60ff82169050919050565b610b7f81610b6a565b82525050565b5f602082019050610b985f830184610b76565b92915050565b5f60208284031215610bb357610bb26109f0565b5b5f610bc084828501610a3a565b91505092915050565b5f8060408385031215610bdf57610bde6109f0565b5b5f610bec85828601610a3a565b9250506020610bfd85828601610a3a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c3e82610a4e565b9150610c4983610a4e565b9250828203905081811115610c6157610c60610c07565b5b92915050565b5f610c7182610a4e565b9150610c7c83610a4e565b9250828201905080821115610c9457610c93610c07565b5b9291505056fea2646970667358221220b8473b709c6938fb8e858410aa42578d70b625b84a7ca5ba6a3bd82a9f6218d264736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH8 0x8AC7230489E80000 PUSH1 0x2 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xCD0 DUP1 PUSH2 0x6C 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 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x236 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEB PUSH2 0x323 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0xB01 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 0xB1A JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x128 SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x146 SWAP2 SWAP1 PUSH2 0xB85 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 0xB9E JUMP JUMPDEST PUSH2 0x67E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x187 PUSH2 0x6C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x194 SWAP2 SWAP1 PUSH2 0x9D0 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 0xA81 JUMP JUMPDEST PUSH2 0x6FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0xAD9 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 0xBC9 JUMP JUMPDEST PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B69636872756D45524332304261736963000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x1 PUSH0 CALLER 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 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x311 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 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 DUP3 GT ISZERO PUSH2 0x375 JUMPI PUSH0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x3F9 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x441 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST 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 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 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x505 SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH1 0x1 PUSH0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x666 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST 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 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4B49434854455354000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x745 JUMPI PUSH0 DUP1 REVERT JUMPDEST DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x78D SWAP2 SWAP1 PUSH2 0xC34 JUMP JUMPDEST PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD PUSH2 0x815 SWAP2 SWAP1 PUSH2 0xC67 JUMP JUMPDEST PUSH0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x8B2 SWAP2 SWAP1 PUSH2 0xB01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 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 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 0x97D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x962 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 0x9A2 DUP3 PUSH2 0x946 JUMP JUMPDEST PUSH2 0x9AC DUP2 DUP6 PUSH2 0x950 JUMP JUMPDEST SWAP4 POP PUSH2 0x9BC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x960 JUMP JUMPDEST PUSH2 0x9C5 DUP2 PUSH2 0x988 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 0x9E8 DUP2 DUP5 PUSH2 0x998 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 0xA1D DUP3 PUSH2 0x9F4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA2D DUP2 PUSH2 0xA13 JUMP JUMPDEST DUP2 EQ PUSH2 0xA37 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA48 DUP2 PUSH2 0xA24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA60 DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP2 EQ PUSH2 0xA6A JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA7B DUP2 PUSH2 0xA57 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA97 JUMPI PUSH2 0xA96 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAA4 DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAB5 DUP6 DUP3 DUP7 ADD PUSH2 0xA6D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAD3 DUP2 PUSH2 0xABF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAEC PUSH0 DUP4 ADD DUP5 PUSH2 0xACA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAFB DUP2 PUSH2 0xA4E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB14 PUSH0 DUP4 ADD DUP5 PUSH2 0xAF2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xB31 JUMPI PUSH2 0xB30 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB3E DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xB4F DUP7 DUP3 DUP8 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xB60 DUP7 DUP3 DUP8 ADD PUSH2 0xA6D 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 0xB7F DUP2 PUSH2 0xB6A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB98 PUSH0 DUP4 ADD DUP5 PUSH2 0xB76 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBB3 JUMPI PUSH2 0xBB2 PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBC0 DUP5 DUP3 DUP6 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBDF JUMPI PUSH2 0xBDE PUSH2 0x9F0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xBEC DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBFD DUP6 DUP3 DUP7 ADD PUSH2 0xA3A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC3E DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC49 DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xC61 JUMPI PUSH2 0xC60 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC71 DUP3 PUSH2 0xA4E JUMP JUMPDEST SWAP2 POP PUSH2 0xC7C DUP4 PUSH2 0xA4E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xC94 JUMPI PUSH2 0xC93 PUSH2 0xC07 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 SELFBALANCE EXTCODESIZE PUSH17 0x9C6938FB8E858410AA42578D70B625B84A PUSH29 0xA5BA6A3BD82A9F6218D264736F6C634300081500330000000000000000 ",
"sourceMap": "736:1808:0:-:0;;;1048:8;1025:31;;1063:62;;;;;;;;;;1106:12;;1083:8;:20;1092:10;1083:20;;;;;;;;;;;;;;;:35;;;;736:1808;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@allowance_222": {
"entryPoint": 2244,
"id": 222,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_205": {
"entryPoint": 566,
"id": 205,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_125": {
"entryPoint": 1662,
"id": 125,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_79": {
"entryPoint": 1657,
"id": 79,
"parameterSlots": 0,
"returnSlots": 0
},
"@name_73": {
"entryPoint": 509,
"id": 73,
"parameterSlots": 0,
"returnSlots": 0
},
"@symbol_76": {
"entryPoint": 1731,
"id": 76,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_112": {
"entryPoint": 803,
"id": 112,
"parameterSlots": 0,
"returnSlots": 1
},
"@transferFrom_298": {
"entryPoint": 812,
"id": 298,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_176": {
"entryPoint": 1788,
"id": 176,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2618,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2669,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2974,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 3017,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 2842,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2689,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2762,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2456,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2802,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 2934,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2777,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2512,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2817,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 2949,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2374,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2384,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3175,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3124,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2579,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2751,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2548,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2638,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 2922,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2400,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 3079,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2544,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2440,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 2596,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2647,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:6248:1",
"nodeType": "YulBlock",
"src": "0:6248:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:184:1",
"nodeType": "YulBlock",
"src": "349:184:1",
"statements": [
{
"nativeSrc": "359:10:1",
"nodeType": "YulVariableDeclaration",
"src": "359:10:1",
"value": {
"kind": "number",
"nativeSrc": "368:1:1",
"nodeType": "YulLiteral",
"src": "368:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "363:1:1",
"nodeType": "YulTypedName",
"src": "363:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "428:63:1",
"nodeType": "YulBlock",
"src": "428:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "453:3:1",
"nodeType": "YulIdentifier",
"src": "453:3:1"
},
{
"name": "i",
"nativeSrc": "458:1:1",
"nodeType": "YulIdentifier",
"src": "458:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "449:3:1",
"nodeType": "YulIdentifier",
"src": "449:3:1"
},
"nativeSrc": "449:11:1",
"nodeType": "YulFunctionCall",
"src": "449:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "472:3:1",
"nodeType": "YulIdentifier",
"src": "472:3:1"
},
{
"name": "i",
"nativeSrc": "477:1:1",
"nodeType": "YulIdentifier",
"src": "477:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "468:3:1",
"nodeType": "YulIdentifier",
"src": "468:3:1"
},
"nativeSrc": "468:11:1",
"nodeType": "YulFunctionCall",
"src": "468:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "462:5:1",
"nodeType": "YulIdentifier",
"src": "462:5:1"
},
"nativeSrc": "462:18:1",
"nodeType": "YulFunctionCall",
"src": "462:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "442:6:1",
"nodeType": "YulIdentifier",
"src": "442:6:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulFunctionCall",
"src": "442:39:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulExpressionStatement",
"src": "442:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "389:1:1",
"nodeType": "YulIdentifier",
"src": "389:1:1"
},
{
"name": "length",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "386:2:1",
"nodeType": "YulIdentifier",
"src": "386:2:1"
},
"nativeSrc": "386:13:1",
"nodeType": "YulFunctionCall",
"src": "386:13:1"
},
"nativeSrc": "378:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "400:19:1",
"nodeType": "YulBlock",
"src": "400:19:1",
"statements": [
{
"nativeSrc": "402:15:1",
"nodeType": "YulAssignment",
"src": "402:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "411:1:1",
"nodeType": "YulIdentifier",
"src": "411:1:1"
},
{
"kind": "number",
"nativeSrc": "414:2:1",
"nodeType": "YulLiteral",
"src": "414:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "407:3:1",
"nodeType": "YulIdentifier",
"src": "407:3:1"
},
"nativeSrc": "407:10:1",
"nodeType": "YulFunctionCall",
"src": "407:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "402:1:1",
"nodeType": "YulIdentifier",
"src": "402:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "382:3:1",
"nodeType": "YulBlock",
"src": "382:3:1",
"statements": []
},
"src": "378:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "511:3:1",
"nodeType": "YulIdentifier",
"src": "511:3:1"
},
{
"name": "length",
"nativeSrc": "516:6:1",
"nodeType": "YulIdentifier",
"src": "516:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "507:3:1",
"nodeType": "YulIdentifier",
"src": "507:3:1"
},
"nativeSrc": "507:16:1",
"nodeType": "YulFunctionCall",
"src": "507:16:1"
},
{
"kind": "number",
"nativeSrc": "525:1:1",
"nodeType": "YulLiteral",
"src": "525:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "500:6:1",
"nodeType": "YulIdentifier",
"src": "500:6:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulFunctionCall",
"src": "500:27:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulExpressionStatement",
"src": "500:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:246:1"
},
{
"body": {
"nativeSrc": "587:54:1",
"nodeType": "YulBlock",
"src": "587:54:1",
"statements": [
{
"nativeSrc": "597:38:1",
"nodeType": "YulAssignment",
"src": "597:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "615:5:1",
"nodeType": "YulIdentifier",
"src": "615:5:1"
},
{
"kind": "number",
"nativeSrc": "622:2:1",
"nodeType": "YulLiteral",
"src": "622:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "611:3:1",
"nodeType": "YulIdentifier",
"src": "611:3:1"
},
"nativeSrc": "611:14:1",
"nodeType": "YulFunctionCall",
"src": "611:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "631:2:1",
"nodeType": "YulLiteral",
"src": "631:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "627:3:1",
"nodeType": "YulIdentifier",
"src": "627:3:1"
},
"nativeSrc": "627:7:1",
"nodeType": "YulFunctionCall",
"src": "627:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "607:3:1",
"nodeType": "YulIdentifier",
"src": "607:3:1"
},
"nativeSrc": "607:28:1",
"nodeType": "YulFunctionCall",
"src": "607:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "597:6:1",
"nodeType": "YulIdentifier",
"src": "597:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "539:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "570:5:1",
"nodeType": "YulTypedName",
"src": "570:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "580:6:1",
"nodeType": "YulTypedName",
"src": "580:6:1",
"type": ""
}
],
"src": "539:102:1"
},
{
"body": {
"nativeSrc": "739:285:1",
"nodeType": "YulBlock",
"src": "739:285:1",
"statements": [
{
"nativeSrc": "749:53:1",
"nodeType": "YulVariableDeclaration",
"src": "749:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "796:5:1",
"nodeType": "YulIdentifier",
"src": "796:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "763:32:1",
"nodeType": "YulIdentifier",
"src": "763:32:1"
},
"nativeSrc": "763:39:1",
"nodeType": "YulFunctionCall",
"src": "763:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "753:6:1",
"nodeType": "YulTypedName",
"src": "753:6:1",
"type": ""
}
]
},
{
"nativeSrc": "811:78:1",
"nodeType": "YulAssignment",
"src": "811:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "877:3:1",
"nodeType": "YulIdentifier",
"src": "877:3:1"
},
{
"name": "length",
"nativeSrc": "882:6:1",
"nodeType": "YulIdentifier",
"src": "882:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "818:58:1",
"nodeType": "YulIdentifier",
"src": "818:58:1"
},
"nativeSrc": "818:71:1",
"nodeType": "YulFunctionCall",
"src": "818:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "811:3:1",
"nodeType": "YulIdentifier",
"src": "811:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "937:5:1",
"nodeType": "YulIdentifier",
"src": "937:5:1"
},
{
"kind": "number",
"nativeSrc": "944:4:1",
"nodeType": "YulLiteral",
"src": "944:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "933:3:1",
"nodeType": "YulIdentifier",
"src": "933:3:1"
},
"nativeSrc": "933:16:1",
"nodeType": "YulFunctionCall",
"src": "933:16:1"
},
{
"name": "pos",
"nativeSrc": "951:3:1",
"nodeType": "YulIdentifier",
"src": "951:3:1"
},
{
"name": "length",
"nativeSrc": "956:6:1",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "898:34:1",
"nodeType": "YulIdentifier",
"src": "898:34:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulFunctionCall",
"src": "898:65:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulExpressionStatement",
"src": "898:65:1"
},
{
"nativeSrc": "972:46:1",
"nodeType": "YulAssignment",
"src": "972:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "983:3:1",
"nodeType": "YulIdentifier",
"src": "983:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1010:6:1",
"nodeType": "YulIdentifier",
"src": "1010:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "988:21:1",
"nodeType": "YulIdentifier",
"src": "988:21:1"
},
"nativeSrc": "988:29:1",
"nodeType": "YulFunctionCall",
"src": "988:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "979:3:1",
"nodeType": "YulIdentifier",
"src": "979:3:1"
},
"nativeSrc": "979:39:1",
"nodeType": "YulFunctionCall",
"src": "979:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "972:3:1",
"nodeType": "YulIdentifier",
"src": "972:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "647:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "720:5:1",
"nodeType": "YulTypedName",
"src": "720:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "727:3:1",
"nodeType": "YulTypedName",
"src": "727:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "735:3:1",
"nodeType": "YulTypedName",
"src": "735:3:1",
"type": ""
}
],
"src": "647:377:1"
},
{
"body": {
"nativeSrc": "1148:195:1",
"nodeType": "YulBlock",
"src": "1148:195:1",
"statements": [
{
"nativeSrc": "1158:26:1",
"nodeType": "YulAssignment",
"src": "1158:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1170:9:1",
"nodeType": "YulIdentifier",
"src": "1170:9:1"
},
{
"kind": "number",
"nativeSrc": "1181:2:1",
"nodeType": "YulLiteral",
"src": "1181:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1166:3:1",
"nodeType": "YulIdentifier",
"src": "1166:3:1"
},
"nativeSrc": "1166:18:1",
"nodeType": "YulFunctionCall",
"src": "1166:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1158:4:1",
"nodeType": "YulIdentifier",
"src": "1158:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1205:9:1",
"nodeType": "YulIdentifier",
"src": "1205:9:1"
},
{
"kind": "number",
"nativeSrc": "1216:1:1",
"nodeType": "YulLiteral",
"src": "1216:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1201:3:1",
"nodeType": "YulIdentifier",
"src": "1201:3:1"
},
"nativeSrc": "1201:17:1",
"nodeType": "YulFunctionCall",
"src": "1201:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
},
{
"name": "headStart",
"nativeSrc": "1230:9:1",
"nodeType": "YulIdentifier",
"src": "1230:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1220:3:1",
"nodeType": "YulIdentifier",
"src": "1220:3:1"
},
"nativeSrc": "1220:20:1",
"nodeType": "YulFunctionCall",
"src": "1220:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1194:6:1",
"nodeType": "YulIdentifier",
"src": "1194:6:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulFunctionCall",
"src": "1194:47:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulExpressionStatement",
"src": "1194:47:1"
},
{
"nativeSrc": "1250:86:1",
"nodeType": "YulAssignment",
"src": "1250:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1322:6:1",
"nodeType": "YulIdentifier",
"src": "1322:6:1"
},
{
"name": "tail",
"nativeSrc": "1331:4:1",
"nodeType": "YulIdentifier",
"src": "1331:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1258:63:1",
"nodeType": "YulIdentifier",
"src": "1258:63:1"
},
"nativeSrc": "1258:78:1",
"nodeType": "YulFunctionCall",
"src": "1258:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1250:4:1",
"nodeType": "YulIdentifier",
"src": "1250:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1030:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1120:9:1",
"nodeType": "YulTypedName",
"src": "1120:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1132:6:1",
"nodeType": "YulTypedName",
"src": "1132:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulTypedName",
"src": "1143:4:1",
"type": ""
}
],
"src": "1030:313:1"
},
{
"body": {
"nativeSrc": "1389:35:1",
"nodeType": "YulBlock",
"src": "1389:35:1",
"statements": [
{
"nativeSrc": "1399:19:1",
"nodeType": "YulAssignment",
"src": "1399:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1415:2:1",
"nodeType": "YulLiteral",
"src": "1415:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1409:5:1",
"nodeType": "YulIdentifier",
"src": "1409:5:1"
},
"nativeSrc": "1409:9:1",
"nodeType": "YulFunctionCall",
"src": "1409:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1399:6:1",
"nodeType": "YulIdentifier",
"src": "1399:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1349:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1382:6:1",
"nodeType": "YulTypedName",
"src": "1382:6:1",
"type": ""
}
],
"src": "1349:75:1"
},
{
"body": {
"nativeSrc": "1519:28:1",
"nodeType": "YulBlock",
"src": "1519:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1536:1:1",
"nodeType": "YulLiteral",
"src": "1536:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1539:1:1",
"nodeType": "YulLiteral",
"src": "1539:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1529:6:1",
"nodeType": "YulIdentifier",
"src": "1529:6:1"
},
"nativeSrc": "1529:12:1",
"nodeType": "YulFunctionCall",
"src": "1529:12:1"
},
"nativeSrc": "1529:12:1",
"nodeType": "YulExpressionStatement",
"src": "1529:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1430:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1430:117:1"
},
{
"body": {
"nativeSrc": "1642:28:1",
"nodeType": "YulBlock",
"src": "1642:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1659:1:1",
"nodeType": "YulLiteral",
"src": "1659:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1662:1:1",
"nodeType": "YulLiteral",
"src": "1662:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1652:6:1",
"nodeType": "YulIdentifier",
"src": "1652:6:1"
},
"nativeSrc": "1652:12:1",
"nodeType": "YulFunctionCall",
"src": "1652:12:1"
},
"nativeSrc": "1652:12:1",
"nodeType": "YulExpressionStatement",
"src": "1652:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1553:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1553:117:1"
},
{
"body": {
"nativeSrc": "1721:81:1",
"nodeType": "YulBlock",
"src": "1721:81:1",
"statements": [
{
"nativeSrc": "1731:65:1",
"nodeType": "YulAssignment",
"src": "1731:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1746:5:1",
"nodeType": "YulIdentifier",
"src": "1746:5:1"
},
{
"kind": "number",
"nativeSrc": "1753:42:1",
"nodeType": "YulLiteral",
"src": "1753:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1742:3:1",
"nodeType": "YulIdentifier",
"src": "1742:3:1"
},
"nativeSrc": "1742:54:1",
"nodeType": "YulFunctionCall",
"src": "1742:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1731:7:1",
"nodeType": "YulIdentifier",
"src": "1731:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1676:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1703:5:1",
"nodeType": "YulTypedName",
"src": "1703:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1713:7:1",
"nodeType": "YulTypedName",
"src": "1713:7:1",
"type": ""
}
],
"src": "1676:126:1"
},
{
"body": {
"nativeSrc": "1853:51:1",
"nodeType": "YulBlock",
"src": "1853:51:1",
"statements": [
{
"nativeSrc": "1863:35:1",
"nodeType": "YulAssignment",
"src": "1863:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1892:5:1",
"nodeType": "YulIdentifier",
"src": "1892:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1874:17:1",
"nodeType": "YulIdentifier",
"src": "1874:17:1"
},
"nativeSrc": "1874:24:1",
"nodeType": "YulFunctionCall",
"src": "1874:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1863:7:1",
"nodeType": "YulIdentifier",
"src": "1863:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "1808:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1835:5:1",
"nodeType": "YulTypedName",
"src": "1835:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1845:7:1",
"nodeType": "YulTypedName",
"src": "1845:7:1",
"type": ""
}
],
"src": "1808:96:1"
},
{
"body": {
"nativeSrc": "1953:79:1",
"nodeType": "YulBlock",
"src": "1953:79:1",
"statements": [
{
"body": {
"nativeSrc": "2010:16:1",
"nodeType": "YulBlock",
"src": "2010:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2019:1:1",
"nodeType": "YulLiteral",
"src": "2019:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2022:1:1",
"nodeType": "YulLiteral",
"src": "2022:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2012:6:1",
"nodeType": "YulIdentifier",
"src": "2012:6:1"
},
"nativeSrc": "2012:12:1",
"nodeType": "YulFunctionCall",
"src": "2012:12:1"
},
"nativeSrc": "2012:12:1",
"nodeType": "YulExpressionStatement",
"src": "2012:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1976:5:1",
"nodeType": "YulIdentifier",
"src": "1976:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2001:5:1",
"nodeType": "YulIdentifier",
"src": "2001:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1983:17:1",
"nodeType": "YulIdentifier",
"src": "1983:17:1"
},
"nativeSrc": "1983:24:1",
"nodeType": "YulFunctionCall",
"src": "1983:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1973:2:1",
"nodeType": "YulIdentifier",
"src": "1973:2:1"
},
"nativeSrc": "1973:35:1",
"nodeType": "YulFunctionCall",
"src": "1973:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1966:6:1",
"nodeType": "YulIdentifier",
"src": "1966:6:1"
},
"nativeSrc": "1966:43:1",
"nodeType": "YulFunctionCall",
"src": "1966:43:1"
},
"nativeSrc": "1963:63:1",
"nodeType": "YulIf",
"src": "1963:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "1910:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1946:5:1",
"nodeType": "YulTypedName",
"src": "1946:5:1",
"type": ""
}
],
"src": "1910:122:1"
},
{
"body": {
"nativeSrc": "2090:87:1",
"nodeType": "YulBlock",
"src": "2090:87:1",
"statements": [
{
"nativeSrc": "2100:29:1",
"nodeType": "YulAssignment",
"src": "2100:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2122:6:1",
"nodeType": "YulIdentifier",
"src": "2122:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2109:12:1",
"nodeType": "YulIdentifier",
"src": "2109:12:1"
},
"nativeSrc": "2109:20:1",
"nodeType": "YulFunctionCall",
"src": "2109:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2100:5:1",
"nodeType": "YulIdentifier",
"src": "2100:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "2165:5:1",
"nodeType": "YulIdentifier",
"src": "2165:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "2138:26:1",
"nodeType": "YulIdentifier",
"src": "2138:26:1"
},
"nativeSrc": "2138:33:1",
"nodeType": "YulFunctionCall",
"src": "2138:33:1"
},
"nativeSrc": "2138:33:1",
"nodeType": "YulExpressionStatement",
"src": "2138:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "2038:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2068:6:1",
"nodeType": "YulTypedName",
"src": "2068:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2076:3:1",
"nodeType": "YulTypedName",
"src": "2076:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2084:5:1",
"nodeType": "YulTypedName",
"src": "2084:5:1",
"type": ""
}
],
"src": "2038:139:1"
},
{
"body": {
"nativeSrc": "2228:32:1",
"nodeType": "YulBlock",
"src": "2228:32:1",
"statements": [
{
"nativeSrc": "2238:16:1",
"nodeType": "YulAssignment",
"src": "2238:16:1",
"value": {
"name": "value",
"nativeSrc": "2249:5:1",
"nodeType": "YulIdentifier",
"src": "2249:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2238:7:1",
"nodeType": "YulIdentifier",
"src": "2238:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "2183:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2210:5:1",
"nodeType": "YulTypedName",
"src": "2210:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2220:7:1",
"nodeType": "YulTypedName",
"src": "2220:7:1",
"type": ""
}
],
"src": "2183:77:1"
},
{
"body": {
"nativeSrc": "2309:79:1",
"nodeType": "YulBlock",
"src": "2309:79:1",
"statements": [
{
"body": {
"nativeSrc": "2366:16:1",
"nodeType": "YulBlock",
"src": "2366:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2375:1:1",
"nodeType": "YulLiteral",
"src": "2375:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2378:1:1",
"nodeType": "YulLiteral",
"src": "2378:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2368:6:1",
"nodeType": "YulIdentifier",
"src": "2368:6:1"
},
"nativeSrc": "2368:12:1",
"nodeType": "YulFunctionCall",
"src": "2368:12:1"
},
"nativeSrc": "2368:12:1",
"nodeType": "YulExpressionStatement",
"src": "2368:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2332:5:1",
"nodeType": "YulIdentifier",
"src": "2332:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2357:5:1",
"nodeType": "YulIdentifier",
"src": "2357:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2339:17:1",
"nodeType": "YulIdentifier",
"src": "2339:17:1"
},
"nativeSrc": "2339:24:1",
"nodeType": "YulFunctionCall",
"src": "2339:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2329:2:1",
"nodeType": "YulIdentifier",
"src": "2329:2:1"
},
"nativeSrc": "2329:35:1",
"nodeType": "YulFunctio
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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