Skip to content

Instantly share code, notes, and snippets.

@pikonha
Created October 23, 2023 12:13
Show Gist options
  • Save pikonha/b74be40143540c6333abbd974b20fb79 to your computer and use it in GitHub Desktop.
Save pikonha/b74be40143540c6333abbd974b20fb79 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.18+commit.87f61d96.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));
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
address[15] memory accounts;
accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;
accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;
accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;
accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;
accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;
accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;
accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;
accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;
accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;
accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;
accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;
accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;
accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;
return accounts[index];
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"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.
{
"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": {
"@_42": {
"entryPoint": null,
"id": 42,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 372,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 446,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 530,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory": {
"entryPoint": 552,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"allocate_memory": {
"entryPoint": 247,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 107,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 277,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 810,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 703,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1110,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 496,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1072,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 949,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 1261,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 330,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 828,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 758,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1232,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 193,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 940,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1202,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 713,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 148,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 988,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 124,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 128,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 120,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 116,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 132,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 843,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1190,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1044,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 855,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 997,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 505,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1040,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:9007:1",
"nodeType": "YulBlock",
"src": "0:9007: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": "423:28:1",
"nodeType": "YulBlock",
"src": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "443:1:1",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:12:1",
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nativeSrc": "433:12:1",
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "334:117:1",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nativeSrc": "546:28:1",
"nodeType": "YulBlock",
"src": "546:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "563:1:1",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "566:1:1",
"nodeType": "YulLiteral",
"src": "566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "556:6:1",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nativeSrc": "556:12:1",
"nodeType": "YulFunctionCall",
"src": "556:12:1"
},
"nativeSrc": "556:12:1",
"nodeType": "YulExpressionStatement",
"src": "556:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "457:117:1",
"nodeType": "YulFunctionDefinition",
"src": "457:117:1"
},
{
"body": {
"nativeSrc": "628:54:1",
"nodeType": "YulBlock",
"src": "628:54:1",
"statements": [
{
"nativeSrc": "638:38:1",
"nodeType": "YulAssignment",
"src": "638:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "656:5:1",
"nodeType": "YulIdentifier",
"src": "656:5:1"
},
{
"kind": "number",
"nativeSrc": "663:2:1",
"nodeType": "YulLiteral",
"src": "663:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "652:3:1",
"nodeType": "YulIdentifier",
"src": "652:3:1"
},
"nativeSrc": "652:14:1",
"nodeType": "YulFunctionCall",
"src": "652:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "672:2:1",
"nodeType": "YulLiteral",
"src": "672:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "668:3:1",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nativeSrc": "668:7:1",
"nodeType": "YulFunctionCall",
"src": "668:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "648:3:1",
"nodeType": "YulIdentifier",
"src": "648:3:1"
},
"nativeSrc": "648:28:1",
"nodeType": "YulFunctionCall",
"src": "648:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "638:6:1",
"nodeType": "YulIdentifier",
"src": "638:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "580:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "611:5:1",
"nodeType": "YulTypedName",
"src": "611:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "621:6:1",
"nodeType": "YulTypedName",
"src": "621:6:1",
"type": ""
}
],
"src": "580:102:1"
},
{
"body": {
"nativeSrc": "716:152:1",
"nodeType": "YulBlock",
"src": "716:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "733:1:1",
"nodeType": "YulLiteral",
"src": "733:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "736:77:1",
"nodeType": "YulLiteral",
"src": "736:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "726:6:1",
"nodeType": "YulIdentifier",
"src": "726:6:1"
},
"nativeSrc": "726:88:1",
"nodeType": "YulFunctionCall",
"src": "726:88:1"
},
"nativeSrc": "726:88:1",
"nodeType": "YulExpressionStatement",
"src": "726:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "830:1:1",
"nodeType": "YulLiteral",
"src": "830:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "833:4:1",
"nodeType": "YulLiteral",
"src": "833:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "823:6:1",
"nodeType": "YulIdentifier",
"src": "823:6:1"
},
"nativeSrc": "823:15:1",
"nodeType": "YulFunctionCall",
"src": "823:15:1"
},
"nativeSrc": "823:15:1",
"nodeType": "YulExpressionStatement",
"src": "823:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "854:1:1",
"nodeType": "YulLiteral",
"src": "854:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "857:4:1",
"nodeType": "YulLiteral",
"src": "857:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "847:6:1",
"nodeType": "YulIdentifier",
"src": "847:6:1"
},
"nativeSrc": "847:15:1",
"nodeType": "YulFunctionCall",
"src": "847:15:1"
},
"nativeSrc": "847:15:1",
"nodeType": "YulExpressionStatement",
"src": "847:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "688:180:1",
"nodeType": "YulFunctionDefinition",
"src": "688:180:1"
},
{
"body": {
"nativeSrc": "917:238:1",
"nodeType": "YulBlock",
"src": "917:238:1",
"statements": [
{
"nativeSrc": "927:58:1",
"nodeType": "YulVariableDeclaration",
"src": "927:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "949:6:1",
"nodeType": "YulIdentifier",
"src": "949:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "979:4:1",
"nodeType": "YulIdentifier",
"src": "979:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "957:21:1",
"nodeType": "YulIdentifier",
"src": "957:21:1"
},
"nativeSrc": "957:27:1",
"nodeType": "YulFunctionCall",
"src": "957:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "945:3:1",
"nodeType": "YulIdentifier",
"src": "945:3:1"
},
"nativeSrc": "945:40:1",
"nodeType": "YulFunctionCall",
"src": "945:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "931:10:1",
"nodeType": "YulTypedName",
"src": "931:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1096:22:1",
"nodeType": "YulBlock",
"src": "1096:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1098:16:1",
"nodeType": "YulIdentifier",
"src": "1098:16:1"
},
"nativeSrc": "1098:18:1",
"nodeType": "YulFunctionCall",
"src": "1098:18:1"
},
"nativeSrc": "1098:18:1",
"nodeType": "YulExpressionStatement",
"src": "1098:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1039:10:1",
"nodeType": "YulIdentifier",
"src": "1039:10:1"
},
{
"kind": "number",
"nativeSrc": "1051:18:1",
"nodeType": "YulLiteral",
"src": "1051:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1036:2:1",
"nodeType": "YulIdentifier",
"src": "1036:2:1"
},
"nativeSrc": "1036:34:1",
"nodeType": "YulFunctionCall",
"src": "1036:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1075:10:1",
"nodeType": "YulIdentifier",
"src": "1075:10:1"
},
{
"name": "memPtr",
"nativeSrc": "1087:6:1",
"nodeType": "YulIdentifier",
"src": "1087:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1072:2:1",
"nodeType": "YulIdentifier",
"src": "1072:2:1"
},
"nativeSrc": "1072:22:1",
"nodeType": "YulFunctionCall",
"src": "1072:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1033:2:1",
"nodeType": "YulIdentifier",
"src": "1033:2:1"
},
"nativeSrc": "1033:62:1",
"nodeType": "YulFunctionCall",
"src": "1033:62:1"
},
"nativeSrc": "1030:88:1",
"nodeType": "YulIf",
"src": "1030:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1134:2:1",
"nodeType": "YulLiteral",
"src": "1134:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "1138:10:1",
"nodeType": "YulIdentifier",
"src": "1138:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1127:6:1",
"nodeType": "YulIdentifier",
"src": "1127:6:1"
},
"nativeSrc": "1127:22:1",
"nodeType": "YulFunctionCall",
"src": "1127:22:1"
},
"nativeSrc": "1127:22:1",
"nodeType": "YulExpressionStatement",
"src": "1127:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "874:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "903:6:1",
"nodeType": "YulTypedName",
"src": "903:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "911:4:1",
"nodeType": "YulTypedName",
"src": "911:4:1",
"type": ""
}
],
"src": "874:281:1"
},
{
"body": {
"nativeSrc": "1202:88:1",
"nodeType": "YulBlock",
"src": "1202:88:1",
"statements": [
{
"nativeSrc": "1212:30:1",
"nodeType": "YulAssignment",
"src": "1212:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "1222:18:1",
"nodeType": "YulIdentifier",
"src": "1222:18:1"
},
"nativeSrc": "1222:20:1",
"nodeType": "YulFunctionCall",
"src": "1222:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1212:6:1",
"nodeType": "YulIdentifier",
"src": "1212:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1271:6:1",
"nodeType": "YulIdentifier",
"src": "1271:6:1"
},
{
"name": "size",
"nativeSrc": "1279:4:1",
"nodeType": "YulIdentifier",
"src": "1279:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "1251:19:1",
"nodeType": "YulIdentifier",
"src": "1251:19:1"
},
"nativeSrc": "1251:33:1",
"nodeType": "YulFunctionCall",
"src": "1251:33:1"
},
"nativeSrc": "1251:33:1",
"nodeType": "YulExpressionStatement",
"src": "1251:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "1161:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "1186:4:1",
"nodeType": "YulTypedName",
"src": "1186:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1195:6:1",
"nodeType": "YulTypedName",
"src": "1195:6:1",
"type": ""
}
],
"src": "1161:129:1"
},
{
"body": {
"nativeSrc": "1363:241:1",
"nodeType": "YulBlock",
"src": "1363:241:1",
"statements": [
{
"body": {
"nativeSrc": "1468:22:1",
"nodeType": "YulBlock",
"src": "1468:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1470:16:1",
"nodeType": "YulIdentifier",
"src": "1470:16:1"
},
"nativeSrc": "1470:18:1",
"nodeType": "YulFunctionCall",
"src": "1470:18:1"
},
"nativeSrc": "1470:18:1",
"nodeType": "YulExpressionStatement",
"src": "1470:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "1440:6:1",
"nodeType": "YulIdentifier",
"src": "1440:6:1"
},
{
"kind": "number",
"nativeSrc": "1448:18:1",
"nodeType": "YulLiteral",
"src": "1448:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1437:2:1",
"nodeType": "YulIdentifier",
"src": "1437:2:1"
},
"nativeSrc": "1437:30:1",
"nodeType": "YulFunctionCall",
"src": "1437:30:1"
},
"nativeSrc": "1434:56:1",
"nodeType": "YulIf",
"src": "1434:56:1"
},
{
"nativeSrc": "1500:37:1",
"nodeType": "YulAssignment",
"src": "1500:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "1530:6:1",
"nodeType": "YulIdentifier",
"src": "1530:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1508:21:1",
"nodeType": "YulIdentifier",
"src": "1508:21:1"
},
"nativeSrc": "1508:29:1",
"nodeType": "YulFunctionCall",
"src": "1508:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "1500:4:1",
"nodeType": "YulIdentifier",
"src": "1500:4:1"
}
]
},
{
"nativeSrc": "1574:23:1",
"nodeType": "YulAssignment",
"src": "1574:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "1586:4:1",
"nodeType": "YulIdentifier",
"src": "1586:4:1"
},
{
"kind": "number",
"nativeSrc": "1592:4:1",
"nodeType": "YulLiteral",
"src": "1592:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1582:3:1",
"nodeType": "YulIdentifier",
"src": "1582:3:1"
},
"nativeSrc": "1582:15:1",
"nodeType": "YulFunctionCall",
"src": "1582:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "1574:4:1",
"nodeType": "YulIdentifier",
"src": "1574:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "1296:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "1347:6:1",
"nodeType": "YulTypedName",
"src": "1347:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "1358:4:1",
"nodeType": "YulTypedName",
"src": "1358:4:1",
"type": ""
}
],
"src": "1296:308:1"
},
{
"body": {
"nativeSrc": "1672:184:1",
"nodeType": "YulBlock",
"src": "1672:184:1",
"statements": [
{
"nativeSrc": "1682:10:1",
"nodeType": "YulVariableDeclaration",
"src": "1682:10:1",
"value": {
"kind": "number",
"nativeSrc": "1691:1:1",
"nodeType": "YulLiteral",
"src": "1691:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "1686:1:1",
"nodeType": "YulTypedName",
"src": "1686:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1751:63:1",
"nodeType": "YulBlock",
"src": "1751:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "1776:3:1",
"nodeType": "YulIdentifier",
"src": "1776:3:1"
},
{
"name": "i",
"nativeSrc": "1781:1:1",
"nodeType": "YulIdentifier",
"src": "1781:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1772:3:1",
"nodeType": "YulIdentifier",
"src": "1772:3:1"
},
"nativeSrc": "1772:11:1",
"nodeType": "YulFunctionCall",
"src": "1772:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "1795:3:1",
"nodeType": "YulIdentifier",
"src": "1795:3:1"
},
{
"name": "i",
"nativeSrc": "1800:1:1",
"nodeType": "YulIdentifier",
"src": "1800:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1791:3:1",
"nodeType": "YulIdentifier",
"src": "1791:3:1"
},
"nativeSrc": "1791:11:1",
"nodeType": "YulFunctionCall",
"src": "1791:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1785:5:1",
"nodeType": "YulIdentifier",
"src": "1785:5:1"
},
"nativeSrc": "1785:18:1",
"nodeType": "YulFunctionCall",
"src": "1785:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1765:6:1",
"nodeType": "YulIdentifier",
"src": "1765:6:1"
},
"nativeSrc": "1765:39:1",
"nodeType": "YulFunctionCall",
"src": "1765:39:1"
},
"nativeSrc": "1765:39:1",
"nodeType": "YulExpressionStatement",
"src": "1765:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "1712:1:1",
"nodeType": "YulIdentifier",
"src": "1712:1:1"
},
{
"name": "length",
"nativeSrc": "1715:6:1",
"nodeType": "YulIdentifier",
"src": "1715:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1709:2:1",
"nodeType": "YulIdentifier",
"src": "1709:2:1"
},
"nativeSrc": "1709:13:1",
"nodeType": "YulFunctionCall",
"src": "1709:13:1"
},
"nativeSrc": "1701:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "1723:19:1",
"nodeType": "YulBlock",
"src": "1723:19:1",
"statements": [
{
"nativeSrc": "1725:15:1",
"nodeType": "YulAssignment",
"src": "1725:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "1734:1:1",
"nodeType": "YulIdentifier",
"src": "1734:1:1"
},
{
"kind": "number",
"nativeSrc": "1737:2:1",
"nodeType": "YulLiteral",
"src": "1737:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1730:3:1",
"nodeType": "YulIdentifier",
"src": "1730:3:1"
},
"nativeSrc": "1730:10:1",
"nodeType": "YulFunctionCall",
"src": "1730:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "1725:1:1",
"nodeType": "YulIdentifier",
"src": "1725:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "1705:3:1",
"nodeType": "YulBlock",
"src": "1705:3:1",
"statements": []
},
"src": "1701:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "1834:3:1",
"nodeType": "YulIdentifier",
"src": "1834:3:1"
},
{
"name": "length",
"nativeSrc": "1839:6:1",
"nodeType": "YulIdentifier",
"src": "1839:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1830:3:1",
"nodeType": "YulIdentifier",
"src": "1830:3:1"
},
"nativeSrc": "1830:16:1",
"nodeType": "YulFunctionCall",
"src": "1830:16:1"
},
{
"kind": "number",
"nativeSrc": "1848:1:1",
"nodeType": "YulLiteral",
"src": "1848:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1823:6:1",
"nodeType": "YulIdentifier",
"src": "1823:6:1"
},
"nativeSrc": "1823:27:1",
"nodeType": "YulFunctionCall",
"src": "1823:27:1"
},
"nativeSrc": "1823:27:1",
"nodeType": "YulExpressionStatement",
"src": "1823:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "1610:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "1654:3:1",
"nodeType": "YulTypedName",
"src": "1654:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "1659:3:1",
"nodeType": "YulTypedName",
"src": "1659:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1664:6:1",
"nodeType": "YulTypedName",
"src": "1664:6:1",
"type": ""
}
],
"src": "1610:246:1"
},
{
"body": {
"nativeSrc": "1957:339:1",
"nodeType": "YulBlock",
"src": "1957:339:1",
"statements": [
{
"nativeSrc": "1967:75:1",
"nodeType": "YulAssignment",
"src": "1967:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "2034:6:1",
"nodeType": "YulIdentifier",
"src": "2034:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "1992:41:1",
"nodeType": "YulIdentifier",
"src": "1992:41:1"
},
"nativeSrc": "1992:49:1",
"nodeType": "YulFunctionCall",
"src": "1992:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "1976:15:1",
"nodeType": "YulIdentifier",
"src": "1976:15:1"
},
"nativeSrc": "1976:66:1",
"nodeType": "YulFunctionCall",
"src": "1976:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "1967:5:1",
"nodeType": "YulIdentifier",
"src": "1967:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "2058:5:1",
"nodeType": "YulIdentifier",
"src": "2058:5:1"
},
{
"name": "length",
"nativeSrc": "2065:6:1",
"nodeType": "YulIdentifier",
"src": "2065:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2051:6:1",
"nodeType": "YulIdentifier",
"src": "2051:6:1"
},
"nativeSrc": "2051:21:1",
"nodeType": "YulFunctionCall",
"src": "2051:21:1"
},
"nativeSrc": "2051:21:1",
"nodeType": "YulExpressionStatement",
"src": "2051:21:1"
},
{
"nativeSrc": "2081:27:1",
"nodeType": "YulVariableDeclaration",
"src": "2081:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2096:5:1",
"nodeType": "YulIdentifier",
"src": "2096:5:1"
},
{
"kind": "number",
"nativeSrc": "2103:4:1",
"nodeType": "YulLiteral",
"src": "2103:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2092:3:1",
"nodeType": "YulIdentifier",
"src": "2092:3:1"
},
"nativeSrc": "2092:16:1",
"nodeType": "YulFunctionCall",
"src": "2092:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "2085:3:1",
"nodeType": "YulTypedName",
"src": "2085:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2146:83:1",
"nodeType": "YulBlock",
"src": "2146:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "2148:77:1",
"nodeType": "YulIdentifier",
"src": "2148:77:1"
},
"nativeSrc": "2148:79:1",
"nodeType": "YulFunctionCall",
"src": "2148:79:1"
},
"nativeSrc": "2148:79:1",
"nodeType": "YulExpressionStatement",
"src": "2148:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2127:3:1",
"nodeType": "YulIdentifier",
"src": "2127:3:1"
},
{
"name": "length",
"nativeSrc": "2132:6:1",
"nodeType": "YulIdentifier",
"src": "2132:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2123:3:1",
"nodeType": "YulIdentifier",
"src": "2123:3:1"
},
"nativeSrc": "2123:16:1",
"nodeType": "YulFunctionCall",
"src": "2123:16:1"
},
{
"name": "end",
"nativeSrc": "2141:3:1",
"nodeType": "YulIdentifier",
"src": "2141:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2120:2:1",
"nodeType": "YulIdentifier",
"src": "2120:2:1"
},
"nativeSrc": "2120:25:1",
"nodeType": "YulFunctionCall",
"src": "2120:25:1"
},
"nativeSrc": "2117:112:1",
"nodeType": "YulIf",
"src": "2117:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "2273:3:1",
"nodeType": "YulIdentifier",
"src": "2273:3:1"
},
{
"name": "dst",
"nativeSrc": "2278:3:1",
"nodeType": "YulIdentifier",
"src": "2278:3:1"
},
{
"name": "length",
"nativeSrc": "2283:6:1",
"nodeType": "YulIdentifier",
"src": "2283:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "2238:34:1",
"nodeType": "YulIdentifier",
"src": "2238:34:1"
},
"nativeSrc": "2238:52:1",
"nodeType": "YulFunctionCall",
"src": "2238:52:1"
},
"nativeSrc": "2238:52:1",
"nodeType": "YulExpressionStatement",
"src": "2238:52:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nativeSrc": "1862:434:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "1930:3:1",
"nodeType": "YulTypedName",
"src": "1930:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1935:6:1",
"nodeType": "YulTypedName",
"src": "1935:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "1943:3:1",
"nodeType": "YulTypedName",
"src": "1943:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "1951:5:1",
"nodeType": "YulTypedName",
"src": "1951:5:1",
"type": ""
}
],
"src": "1862:434:1"
},
{
"body": {
"nativeSrc": "2389:282:1",
"nodeType": "YulBlock",
"src": "2389:282:1",
"statements": [
{
"body": {
"nativeSrc": "2438:83:1",
"nodeType": "YulBlock",
"src": "2438:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "2440:77:1",
"nodeType": "YulIdentifier",
"src": "2440:77:1"
},
"nativeSrc": "2440:79:1",
"nodeType": "YulFunctionCall",
"src": "2440:79:1"
},
"nativeSrc": "2440:79:1",
"nodeType": "YulExpressionStatement",
"src": "2440:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2417:6:1",
"nodeType": "YulIdentifier",
"src": "2417:6:1"
},
{
"kind": "number",
"nativeSrc": "2425:4:1",
"nodeType": "YulLiteral",
"src": "2425:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2413:3:1",
"nodeType": "YulIdentifier",
"src": "2413:3:1"
},
"nativeSrc": "2413:17:1",
"nodeType": "YulFunctionCall",
"src": "2413:17:1"
},
{
"name": "end",
"nativeSrc": "2432:3:1",
"nodeType": "YulIdentifier",
"src": "2432:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2409:3:1",
"nodeType": "YulIdentifier",
"src": "2409:3:1"
},
"nativeSrc": "2409:27:1",
"nodeType": "YulFunctionCall",
"src": "2409:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2402:6:1",
"nodeType": "YulIdentifier",
"src": "2402:6:1"
},
"nativeSrc": "2402:35:1",
"nodeType": "YulFunctionCall",
"src": "2402:35:1"
},
"nativeSrc": "2399:122:1",
"nodeType": "YulIf",
"src": "2399:122:1"
},
{
"nativeSrc": "2530:27:1",
"nodeType": "YulVariableDeclaration",
"src": "2530:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2550:6:1",
"nodeType": "YulIdentifier",
"src": "2550:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2544:5:1",
"nodeType": "YulIdentifier",
"src": "2544:5:1"
},
"nativeSrc": "2544:13:1",
"nodeType": "YulFunctionCall",
"src": "2544:13:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "2534:6:1",
"nodeType": "YulTypedName",
"src": "2534:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2566:99:1",
"nodeType": "YulAssignment",
"src": "2566:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2638:6:1",
"nodeType": "YulIdentifier",
"src": "2638:6:1"
},
{
"kind": "number",
"nativeSrc": "2646:4:1",
"nodeType": "YulLiteral",
"src": "2646:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2634:3:1",
"nodeType": "YulIdentifier",
"src": "2634:3:1"
},
"nativeSrc": "2634:17:1",
"nodeType": "YulFunctionCall",
"src": "2634:17:1"
},
{
"name": "length",
"nativeSrc": "2653:6:1",
"nodeType": "YulIdentifier",
"src": "2653:6:1"
},
{
"name": "end",
"nativeSrc": "2661:3:1",
"nodeType": "YulIdentifier",
"src": "2661:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nativeSrc": "2575:58:1",
"nodeType": "YulIdentifier",
"src": "2575:58:1"
},
"nativeSrc": "2575:90:1",
"nodeType": "YulFunctionCall",
"src": "2575:90:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2566:5:1",
"nodeType": "YulIdentifier",
"src": "2566:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nativeSrc": "2316:355:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2367:6:1",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2375:3:1",
"nodeType": "YulTypedName",
"src": "2375:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2383:5:1",
"nodeType": "YulTypedName",
"src": "2383:5:1",
"type": ""
}
],
"src": "2316:355:1"
},
{
"body": {
"nativeSrc": "2722:32:1",
"nodeType": "YulBlock",
"src": "2722:32:1",
"statements": [
{
"nativeSrc": "2732:16:1",
"nodeType": "YulAssignment",
"src": "2732:16:1",
"value": {
"name": "value",
"nativeSrc": "2743:5:1",
"nodeType": "YulIdentifier",
"src": "2743:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2732:7:1",
"nodeType": "YulIdentifier",
"src": "2732:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "2677:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2704:5:1",
"nodeType": "YulTypedName",
"src": "2704:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2714:7:1",
"nodeType": "YulTypedName",
"src": "2714:7:1",
"type": ""
}
],
"src": "2677:77:1"
},
{
"body": {
"nativeSrc": "2803:79:1",
"nodeType": "YulBlock",
"src": "2803:79:1",
"statements": [
{
"body": {
"nativeSrc": "2860:16:1",
"nodeType": "YulBlock",
"src": "2860:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2869:1:1",
"nodeType": "YulLiteral",
"src": "2869:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2872:1:1",
"nodeType": "YulLiteral",
"src": "2872:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2862:6:1",
"nodeType": "YulIdentifier",
"src": "2862:6:1"
},
"nativeSrc": "2862:12:1",
"nodeType": "YulFunctionCall",
"src": "2862:12:1"
},
"nativeSrc": "2862:12:1",
"nodeType": "YulExpressionStatement",
"src": "2862:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2826:5:1",
"nodeType": "YulIdentifier",
"src": "2826:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2851:5:1",
"nodeType": "YulIdentifier",
"src": "2851:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2833:17:1",
"nodeType": "YulIdentifier",
"src": "2833:17:1"
},
"nativeSrc": "2833:24:1",
"nodeType": "YulFunctionCall",
"src": "2833:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2823:2:1",
"nodeType": "YulIdentifier",
"src": "2823:2:1"
},
"nativeSrc": "2823:35:1",
"nodeType": "YulFunctionCall",
"src": "2823:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2816:6:1",
"nodeType": "YulIdentifier",
"src": "2816:6:1"
},
"nativeSrc": "2816:43:1",
"nodeType": "YulFunctionCall",
"src": "2816:43:1"
},
"nativeSrc": "2813:63:1",
"nodeType": "YulIf",
"src": "2813:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "2760:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2796:5:1",
"nodeType": "YulTypedName",
"src": "2796:5:1",
"type": ""
}
],
"src": "2760:122:1"
},
{
"body": {
"nativeSrc": "2951:80:1",
"nodeType": "YulBlock",
"src": "2951:80:1",
"statements": [
{
"nativeSrc": "2961:22:1",
"nodeType": "YulAssignment",
"src": "2961:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2976:6:1",
"nodeType": "YulIdentifier",
"src": "2976:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2970:5:1",
"nodeType": "YulIdentifier",
"src": "2970:5:1"
},
"nativeSrc": "2970:13:1",
"nodeType": "YulFunctionCall",
"src": "2970:13:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "2961:5:1",
"nodeType": "YulIdentifier",
"src": "2961:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "3019:5:1",
"nodeType": "YulIdentifier",
"src": "3019:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "2992:26:1",
"nodeType": "YulIdentifier",
"src": "2992:26:1"
},
"nativeSrc": "2992:33:1",
"nodeType": "YulFunctionCall",
"src": "2992:33:1"
},
"nativeSrc": "2992:33:1",
"nodeType": "YulExpressionStatement",
"src": "2992:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "2888:143:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2929:6:1",
"nodeType": "YulTypedName",
"src": "2929:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2937:3:1",
"nodeType": "YulTypedName",
"src": "2937:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "2945:5:1",
"nodeType": "YulTypedName",
"src": "2945:5:1",
"type": ""
}
],
"src": "2888:143:1"
},
{
"body": {
"nativeSrc": "3168:878:1",
"nodeType": "YulBlock",
"src": "3168:878:1",
"statements": [
{
"body": {
"nativeSrc": "3214:83:1",
"nodeType": "YulBlock",
"src": "3214:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3216:77:1",
"nodeType": "YulIdentifier",
"src": "3216:77:1"
},
"nativeSrc": "3216:79:1",
"nodeType": "YulFunctionCall",
"src": "3216:79:1"
},
"nativeSrc": "3216:79:1",
"nodeType": "YulExpressionStatement",
"src": "3216:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3189:7:1",
"nodeType": "YulIdentifier",
"src": "3189:7:1"
},
{
"name": "headStart",
"nativeSrc": "3198:9:1",
"nodeType": "YulIdentifier",
"src": "3198:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3185:3:1",
"nodeType": "YulIdentifier",
"src": "3185:3:1"
},
"nativeSrc": "3185:23:1",
"nodeType": "YulFunctionCall",
"src": "3185:23:1"
},
{
"kind": "number",
"nativeSrc": "3210:2:1",
"nodeType": "YulLiteral",
"src": "3210:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3181:3:1",
"nodeType": "YulIdentifier",
"src": "3181:3:1"
},
"nativeSrc": "3181:32:1",
"nodeType": "YulFunctionCall",
"src": "3181:32:1"
},
"nativeSrc": "3178:119:1",
"nodeType": "YulIf",
"src": "3178:119:1"
},
{
"nativeSrc": "3307:291:1",
"nodeType": "YulBlock",
"src": "3307:291:1",
"statements": [
{
"nativeSrc": "3322:38:1",
"nodeType": "YulVariableDeclaration",
"src": "3322:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3346:9:1",
"nodeType": "YulIdentifier",
"src": "3346:9:1"
},
{
"kind": "number",
"nativeSrc": "3357:1:1",
"nodeType": "YulLiteral",
"src": "3357:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3342:3:1",
"nodeType": "YulIdentifier",
"src": "3342:3:1"
},
"nativeSrc": "3342:17:1",
"nodeType": "YulFunctionCall",
"src": "3342:17:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "3336:5:1",
"nodeType": "YulIdentifier",
"src": "3336:5:1"
},
"nativeSrc": "3336:24:1",
"nodeType": "YulFunctionCall",
"src": "3336:24:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3326:6:1",
"nodeType": "YulTypedName",
"src": "3326:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3407:83:1",
"nodeType": "YulBlock",
"src": "3407:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3409:77:1",
"nodeType": "YulIdentifier",
"src": "3409:77:1"
},
"nativeSrc": "3409:79:1",
"nodeType": "YulFunctionCall",
"src": "3409:79:1"
},
"nativeSrc": "3409:79:1",
"nodeType": "YulExpressionStatement",
"src": "3409:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3379:6:1",
"nodeType": "YulIdentifier",
"src": "3379:6:1"
},
{
"kind": "number",
"nativeSrc": "3387:18:1",
"nodeType": "YulLiteral",
"src": "3387:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3376:2:1",
"nodeType": "YulIdentifier",
"src": "3376:2:1"
},
"nativeSrc": "3376:30:1",
"nodeType": "YulFunctionCall",
"src": "3376:30:1"
},
"nativeSrc": "3373:117:1",
"nodeType": "YulIf",
"src": "3373:117:1"
},
{
"nativeSrc": "3504:84:1",
"nodeType": "YulAssignment",
"src": "3504:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3560:9:1",
"nodeType": "YulIdentifier",
"src": "3560:9:1"
},
{
"name": "offset",
"nativeSrc": "3571:6:1",
"nodeType": "YulIdentifier",
"src": "3571:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3556:3:1",
"nodeType": "YulIdentifier",
"src": "3556:3:1"
},
"nativeSrc": "3556:22:1",
"nodeType": "YulFunctionCall",
"src": "3556:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3580:7:1",
"nodeType": "YulIdentifier",
"src": "3580:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nativeSrc": "3514:41:1",
"nodeType": "YulIdentifier",
"src": "3514:41:1"
},
"nativeSrc": "3514:74:1",
"nodeType": "YulFunctionCall",
"src": "3514:74:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3504:6:1",
"nodeType": "YulIdentifier",
"src": "3504:6:1"
}
]
}
]
},
{
"nativeSrc": "3608:292:1",
"nodeType": "YulBlock",
"src": "3608:292:1",
"statements": [
{
"nativeSrc": "3623:39:1",
"nodeType": "YulVariableDeclaration",
"src": "3623:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3647:9:1",
"nodeType": "YulIdentifier",
"src": "3647:9:1"
},
{
"kind": "number",
"nativeSrc": "3658:2:1",
"nodeType": "YulLiteral",
"src": "3658:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3643:3:1",
"nodeType": "YulIdentifier",
"src": "3643:3:1"
},
"nativeSrc": "3643:18:1",
"nodeType": "YulFunctionCall",
"src": "3643:18:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "3637:5:1",
"nodeType": "YulIdentifier",
"src": "3637:5:1"
},
"nativeSrc": "3637:25:1",
"nodeType": "YulFunctionCall",
"src": "3637:25:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3627:6:1",
"nodeType": "YulTypedName",
"src": "3627:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3709:83:1",
"nodeType": "YulBlock",
"src": "3709:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3711:77:1",
"nodeType": "YulIdentifier",
"src": "3711:77:1"
},
"nativeSrc": "3711:79:1",
"nodeType": "YulFunctionCall",
"src": "3711:79:1"
},
"nativeSrc": "3711:79:1",
"nodeType": "YulExpressionStatement",
"src": "3711:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3681:6:1",
"nodeType": "YulIdentifier",
"src": "3681:6:1"
},
{
"kind": "number",
"nativeSrc": "3689:18:1",
"nodeType": "YulLiteral",
"src": "3689:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3678:2:1",
"nodeType": "YulIdentifier",
"src": "3678:2:1"
},
"nativeSrc": "3678:30:1",
"nodeType": "YulFunctionCall",
"src": "3678:30:1"
},
"nativeSrc": "3675:117:1",
"nodeType": "YulIf",
"src": "3675:117:1"
},
{
"nativeSrc": "3806:84:1",
"nodeType": "YulAssignment",
"src": "3806:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3862:9:1",
"nodeType": "YulIdentifier",
"src": "3862:9:1"
},
{
"name": "offset",
"nativeSrc": "3873:6:1",
"nodeType": "YulIdentifier",
"src": "3873:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3858:3:1",
"nodeType": "YulIdentifier",
"src": "3858:3:1"
},
"nativeSrc": "3858:22:1",
"nodeType": "YulFunctionCall",
"src": "3858:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3882:7:1",
"nodeType": "YulIdentifier",
"src": "3882:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nativeSrc": "3816:41:1",
"nodeType": "YulIdentifier",
"src": "3816:41:1"
},
"nativeSrc": "3816:74:1",
"nodeType": "YulFunctionCall",
"src": "3816:74:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "3806:6:1",
"nodeType": "YulIdentifier",
"src": "3806:6:1"
}
]
}
]
},
{
"nativeSrc": "3910:129:1",
"nodeType": "YulBlock",
"src": "3910:129:1",
"statements": [
{
"nativeSrc": "3925:16:1",
"nodeType": "YulVariableDeclaration",
"src": "3925:16:1",
"value": {
"kind": "number",
"nativeSrc": "3939:2:1",
"nodeType": "YulLiteral",
"src": "3939:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3929:6:1",
"nodeType": "YulTypedName",
"src": "3929:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3955:74:1",
"nodeType": "YulAssignment",
"src": "3955:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4001:9:1",
"nodeType": "YulIdentifier",
"src": "4001:9:1"
},
{
"name": "offset",
"nativeSrc": "4012:6:1",
"nodeType": "YulIdentifier",
"src": "4012:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3997:3:1",
"nodeType": "YulIdentifier",
"src": "3997:3:1"
},
"nativeSrc": "3997:22:1",
"nodeType": "YulFunctionCall",
"src": "3997:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4021:7:1",
"nodeType": "YulIdentifier",
"src": "4021:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "3965:31:1",
"nodeType": "YulIdentifier",
"src": "3965:31:1"
},
"nativeSrc": "3965:64:1",
"nodeType": "YulFunctionCall",
"src": "3965:64:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "3955:6:1",
"nodeType": "YulIdentifier",
"src": "3955:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory",
"nativeSrc": "3037:1009:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3122:9:1",
"nodeType": "YulTypedName",
"src": "3122:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3133:7:1",
"nodeType": "YulTypedName",
"src": "3133:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3145:6:1",
"nodeType": "YulTypedName",
"src": "3145:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3153:6:1",
"nodeType": "YulTypedName",
"src": "3153:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3161:6:1",
"nodeType": "YulTypedName",
"src": "3161:6:1",
"type": ""
}
],
"src": "3037:1009:1"
},
{
"body": {
"nativeSrc": "4111:40:1",
"nodeType": "YulBlock",
"src": "4111:40:1",
"statements": [
{
"nativeSrc": "4122:22:1",
"nodeType": "YulAssignment",
"src": "4122:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4138:5:1",
"nodeType": "YulIdentifier",
"src": "4138:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4132:5:1",
"nodeType": "YulIdentifier",
"src": "4132:5:1"
},
"nativeSrc": "4132:12:1",
"nodeType": "YulFunctionCall",
"src": "4132:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4122:6:1",
"nodeType": "YulIdentifier",
"src": "4122:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "4052:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4094:5:1",
"nodeType": "YulTypedName",
"src": "4094:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "4104:6:1",
"nodeType": "YulTypedName",
"src": "4104:6:1",
"type": ""
}
],
"src": "4052:99:1"
},
{
"body": {
"nativeSrc": "4185:152:1",
"nodeType": "YulBlock",
"src": "4185:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4202:1:1",
"nodeType": "YulLiteral",
"src": "4202:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "4205:77:1",
"nodeType": "YulLiteral",
"src": "4205:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4195:6:1",
"nodeType": "YulIdentifier",
"src": "4195:6:1"
},
"nativeSrc": "4195:88:1",
"nodeType": "YulFunctionCall",
"src": "4195:88:1"
},
"nativeSrc": "4195:88:1",
"nodeType": "YulExpressionStatement",
"src": "4195:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4299:1:1",
"nodeType": "YulLiteral",
"src": "4299:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "4302:4:1",
"nodeType": "YulLiteral",
"src": "4302:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4292:6:1",
"nodeType": "YulIdentifier",
"src": "4292:6:1"
},
"nativeSrc": "4292:15:1",
"nodeType": "YulFunctionCall",
"src": "4292:15:1"
},
"nativeSrc": "4292:15:1",
"nodeType": "YulExpressionStatement",
"src": "4292:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4323:1:1",
"nodeType": "YulLiteral",
"src": "4323:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "4326:4:1",
"nodeType": "YulLiteral",
"src": "4326:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "4316:6:1",
"nodeType": "YulIdentifier",
"src": "4316:6:1"
},
"nativeSrc": "4316:15:1",
"nodeType": "YulFunctionCall",
"src": "4316:15:1"
},
"nativeSrc": "4316:15:1",
"nodeType": "YulExpressionStatement",
"src": "4316:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "4157:180:1",
"nodeType": "YulFunctionDefinition",
"src": "4157:180:1"
},
{
"body": {
"nativeSrc": "4394:269:1",
"nodeType": "YulBlock",
"src": "4394:269:1",
"statements": [
{
"nativeSrc": "4404:22:1",
"nodeType": "YulAssignment",
"src": "4404:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4418:4:1",
"nodeType": "YulIdentifier",
"src": "4418:4:1"
},
{
"kind": "number",
"nativeSrc": "4424:1:1",
"nodeType": "YulLiteral",
"src": "4424:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "4414:3:1",
"nodeType": "YulIdentifier",
"src": "4414:3:1"
},
"nativeSrc": "4414:12:1",
"nodeType": "YulFunctionCall",
"src": "4414:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4404:6:1",
"nodeType": "YulIdentifier",
"src": "4404:6:1"
}
]
},
{
"nativeSrc": "4435:38:1",
"nodeType": "YulVariableDeclaration",
"src": "4435:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "4465:4:1",
"nodeType": "YulIdentifier",
"src": "4465:4:1"
},
{
"kind": "number",
"nativeSrc": "4471:1:1",
"nodeType": "YulLiteral",
"src": "4471:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4461:3:1",
"nodeType": "YulIdentifier",
"src": "4461:3:1"
},
"nativeSrc": "4461:12:1",
"nodeType": "YulFunctionCall",
"src": "4461:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "4439:18:1",
"nodeType": "YulTypedName",
"src": "4439:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4512:51:1",
"nodeType": "YulBlock",
"src": "4512:51:1",
"statements": [
{
"nativeSrc": "4526:27:1",
"nodeType": "YulAssignment",
"src": "4526:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "4540:6:1",
"nodeType": "YulIdentifier",
"src": "4540:6:1"
},
{
"kind": "number",
"nativeSrc": "4548:4:1",
"nodeType": "YulLiteral",
"src": "4548:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4536:3:1",
"nodeType": "YulIdentifier",
"src": "4536:3:1"
},
"nativeSrc": "4536:17:1",
"nodeType": "YulFunctionCall",
"src": "4536:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4526:6:1",
"nodeType": "YulIdentifier",
"src": "4526:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "4492:18:1",
"nodeType": "YulIdentifier",
"src": "4492:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "4485:6:1",
"nodeType": "YulIdentifier",
"src": "4485:6:1"
},
"nativeSrc": "4485:26:1",
"nodeType": "YulFunctionCall",
"src": "4485:26:1"
},
"nativeSrc": "4482:81:1",
"nodeType": "YulIf",
"src": "4482:81:1"
},
{
"body": {
"nativeSrc": "4615:42:1",
"nodeType": "YulBlock",
"src": "4615:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "4629:16:1",
"nodeType": "YulIdentifier",
"src": "4629:16:1"
},
"nativeSrc": "4629:18:1",
"nodeType": "YulFunctionCall",
"src": "4629:18:1"
},
"nativeSrc": "4629:18:1",
"nodeType": "YulExpressionStatement",
"src": "4629:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "4579:18:1",
"nodeType": "YulIdentifier",
"src": "4579:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "4602:6:1",
"nodeType": "YulIdentifier",
"src": "4602:6:1"
},
{
"kind": "number",
"nativeSrc": "4610:2:1",
"nodeType": "YulLiteral",
"src": "4610:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4599:2:1",
"nodeType": "YulIdentifier",
"src": "4599:2:1"
},
"nativeSrc": "4599:14:1",
"nodeType": "YulFunctionCall",
"src": "4599:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "4576:2:1",
"nodeType": "YulIdentifier",
"src": "4576:2:1"
},
"nativeSrc": "4576:38:1",
"nodeType": "YulFunctionCall",
"src": "4576:38:1"
},
"nativeSrc": "4573:84:1",
"nodeType": "YulIf",
"src": "4573:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "4343:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "4378:4:1",
"nodeType": "YulTypedName",
"src": "4378:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "4387:6:1",
"nodeType": "YulTypedName",
"src": "4387:6:1",
"type": ""
}
],
"src": "4343:320:1"
},
{
"body": {
"nativeSrc": "4723:87:1",
"nodeType": "YulBlock",
"src": "4723:87:1",
"statements": [
{
"nativeSrc": "4733:11:1",
"nodeType": "YulAssignment",
"src": "4733:11:1",
"value": {
"name": "ptr",
"nativeSrc": "4741:3:1",
"nodeType": "YulIdentifier",
"src": "4741:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "4733:4:1",
"nodeType": "YulIdentifier",
"src": "4733:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4761:1:1",
"nodeType": "YulLiteral",
"src": "4761:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "4764:3:1",
"nodeType": "YulIdentifier",
"src": "4764:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4754:6:1",
"nodeType": "YulIdentifier",
"src": "4754:6:1"
},
"nativeSrc": "4754:14:1",
"nodeType": "YulFunctionCall",
"src": "4754:14:1"
},
"nativeSrc": "4754:14:1",
"nodeType": "YulExpressionStatement",
"src": "4754:14:1"
},
{
"nativeSrc": "4777:26:1",
"nodeType": "YulAssignment",
"src": "4777:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4795:1:1",
"nodeType": "YulLiteral",
"src": "4795:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "4798:4:1",
"nodeType": "YulLiteral",
"src": "4798:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "4785:9:1",
"nodeType": "YulIdentifier",
"src": "4785:9:1"
},
"nativeSrc": "4785:18:1",
"nodeType": "YulFunctionCall",
"src": "4785:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "4777:4:1",
"nodeType": "YulIdentifier",
"src": "4777:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4669:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "4710:3:1",
"nodeType": "YulTypedName",
"src": "4710:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "4718:4:1",
"nodeType": "YulTypedName",
"src": "4718:4:1",
"type": ""
}
],
"src": "4669:141:1"
},
{
"body": {
"nativeSrc": "4860:49:1",
"nodeType": "YulBlock",
"src": "4860:49:1",
"statements": [
{
"nativeSrc": "4870:33:1",
"nodeType": "YulAssignment",
"src": "4870:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4888:5:1",
"nodeType": "YulIdentifier",
"src": "4888:5:1"
},
{
"kind": "number",
"nativeSrc": "4895:2:1",
"nodeType": "YulLiteral",
"src": "4895:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4884:3:1",
"nodeType": "YulIdentifier",
"src": "4884:3:1"
},
"nativeSrc": "4884:14:1",
"nodeType": "YulFunctionCall",
"src": "4884:14:1"
},
{
"kind": "number",
"nativeSrc": "4900:2:1",
"nodeType": "YulLiteral",
"src": "4900:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "4880:3:1",
"nodeType": "YulIdentifier",
"src": "4880:3:1"
},
"nativeSrc": "4880:23:1",
"nodeType": "YulFunctionCall",
"src": "4880:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "4870:6:1",
"nodeType": "YulIdentifier",
"src": "4870:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "4816:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4843:5:1",
"nodeType": "YulTypedName",
"src": "4843:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "4853:6:1",
"nodeType": "YulTypedName",
"src": "4853:6:1",
"type": ""
}
],
"src": "4816:93:1"
},
{
"body": {
"nativeSrc": "4968:54:1",
"nodeType": "YulBlock",
"src": "4968:54:1",
"statements": [
{
"nativeSrc": "4978:37:1",
"nodeType": "YulAssignment",
"src": "4978:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "5003:4:1",
"nodeType": "YulIdentifier",
"src": "5003:4:1"
},
{
"name": "value",
"nativeSrc": "5009:5:1",
"nodeType": "YulIdentifier",
"src": "5009:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "4999:3:1",
"nodeType": "YulIdentifier",
"src": "4999:3:1"
},
"nativeSrc": "4999:16:1",
"nodeType": "YulFunctionCall",
"src": "4999:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "4978:8:1",
"nodeType": "YulIdentifier",
"src": "4978:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "4915:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "4943:4:1",
"nodeType": "YulTypedName",
"src": "4943:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "4949:5:1",
"nodeType": "YulTypedName",
"src": "4949:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "4959:8:1",
"nodeType": "YulTypedName",
"src": "4959:8:1",
"type": ""
}
],
"src": "4915:107:1"
},
{
"body": {
"nativeSrc": "5104:317:1",
"nodeType": "YulBlock",
"src": "5104:317:1",
"statements": [
{
"nativeSrc": "5114:35:1",
"nodeType": "YulVariableDeclaration",
"src": "5114:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "5135:10:1",
"nodeType": "YulIdentifier",
"src": "5135:10:1"
},
{
"kind": "number",
"nativeSrc": "5147:1:1",
"nodeType": "YulLiteral",
"src": "5147:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "5131:3:1",
"nodeType": "YulIdentifier",
"src": "5131:3:1"
},
"nativeSrc": "5131:18:1",
"nodeType": "YulFunctionCall",
"src": "5131:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "5118:9:1",
"nodeType": "YulTypedName",
"src": "5118:9:1",
"type": ""
}
]
},
{
"nativeSrc": "5158:109:1",
"nodeType": "YulVariableDeclaration",
"src": "5158:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "5189:9:1",
"nodeType": "YulIdentifier",
"src": "5189:9:1"
},
{
"kind": "number",
"nativeSrc": "5200:66:1",
"nodeType": "YulLiteral",
"src": "5200:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "5170:18:1",
"nodeType": "YulIdentifier",
"src": "5170:18:1"
},
"nativeSrc": "5170:97:1",
"nodeType": "YulFunctionCall",
"src": "5170:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "5162:4:1",
"nodeType": "YulTypedName",
"src": "5162:4:1",
"type": ""
}
]
},
{
"nativeSrc": "5276:51:1",
"nodeType": "YulAssignment",
"src": "5276:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "5307:9:1",
"nodeType": "YulIdentifier",
"src": "5307:9:1"
},
{
"name": "toInsert",
"nativeSrc": "5318:8:1",
"nodeType": "YulIdentifier",
"src": "5318:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "5288:18:1",
"nodeType": "YulIdentifier",
"src": "5288:18:1"
},
"nativeSrc": "5288:39:1",
"nodeType": "YulFunctionCall",
"src": "5288:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "5276:8:1",
"nodeType": "YulIdentifier",
"src": "5276:8:1"
}
]
},
{
"nativeSrc": "5336:30:1",
"nodeType": "YulAssignment",
"src": "5336:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5349:5:1",
"nodeType": "YulIdentifier",
"src": "5349:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "5360:4:1",
"nodeType": "YulIdentifier",
"src": "5360:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "5356:3:1",
"nodeType": "YulIdentifier",
"src": "5356:3:1"
},
"nativeSrc": "5356:9:1",
"nodeType": "YulFunctionCall",
"src": "5356:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5345:3:1",
"nodeType": "YulIdentifier",
"src": "5345:3:1"
},
"nativeSrc": "5345:21:1",
"nodeType": "YulFunctionCall",
"src": "5345:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5336:5:1",
"nodeType": "YulIdentifier",
"src": "5336:5:1"
}
]
},
{
"nativeSrc": "5375:40:1",
"nodeType": "YulAssignment",
"src": "5375:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5388:5:1",
"nodeType": "YulIdentifier",
"src": "5388:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "5399:8:1",
"nodeType": "YulIdentifier",
"src": "5399:8:1"
},
{
"name": "mask",
"nativeSrc": "5409:4:1",
"nodeType": "YulIdentifier",
"src": "5409:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5395:3:1",
"nodeType": "YulIdentifier",
"src": "5395:3:1"
},
"nativeSrc": "5395:19:1",
"nodeType": "YulFunctionCall",
"src": "5395:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "5385:2:1",
"nodeType": "YulIdentifier",
"src": "5385:2:1"
},
"nativeSrc": "5385:30:1",
"nodeType": "YulFunctionCall",
"src": "5385:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "5375:6:1",
"nodeType": "YulIdentifier",
"src": "5375:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "5028:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5065:5:1",
"nodeType": "YulTypedName",
"src": "5065:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "5072:10:1",
"nodeType": "YulTypedName",
"src": "5072:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "5084:8:1",
"nodeType": "YulTypedName",
"src": "5084:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "5097:6:1",
"nodeType": "YulTypedName",
"src": "5097:6:1",
"type": ""
}
],
"src": "5028:393:1"
},
{
"body": {
"nativeSrc": "5459:28:1",
"nodeType": "YulBlock",
"src": "5459:28:1",
"statements": [
{
"nativeSrc": "5469:12:1",
"nodeType": "YulAssignment",
"src": "5469:12:1",
"value": {
"name": "value",
"nativeSrc": "5476:5:1",
"nodeType": "YulIdentifier",
"src": "5476:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "5469:3:1",
"nodeType": "YulIdentifier",
"src": "5469:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "5427:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5445:5:1",
"nodeType": "YulTypedName",
"src": "5445:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "5455:3:1",
"nodeType": "YulTypedName",
"src": "5455:3:1",
"type": ""
}
],
"src": "5427:60:1"
},
{
"body": {
"nativeSrc": "5553:82:1",
"nodeType": "YulBlock",
"src": "5553:82:1",
"statements": [
{
"nativeSrc": "5563:66:1",
"nodeType": "YulAssignment",
"src": "5563:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5621:5:1",
"nodeType": "YulIdentifier",
"src": "5621:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5603:17:1",
"nodeType": "YulIdentifier",
"src": "5603:17:1"
},
"nativeSrc": "5603:24:1",
"nodeType": "YulFunctionCall",
"src": "5603:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "5594:8:1",
"nodeType": "YulIdentifier",
"src": "5594:8:1"
},
"nativeSrc": "5594:34:1",
"nodeType": "YulFunctionCall",
"src": "5594:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5576:17:1",
"nodeType": "YulIdentifier",
"src": "5576:17:1"
},
"nativeSrc": "5576:53:1",
"nodeType": "YulFunctionCall",
"src": "5576:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "5563:9:1",
"nodeType": "YulIdentifier",
"src": "5563:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "5493:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5533:5:1",
"nodeType": "YulTypedName",
"src": "5533:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "5543:9:1",
"nodeType": "YulTypedName",
"src": "5543:9:1",
"type": ""
}
],
"src": "5493:142:1"
},
{
"body": {
"nativeSrc": "5688:28:1",
"nodeType": "YulBlock",
"src": "5688:28:1",
"statements": [
{
"nativeSrc": "5698:12:1",
"nodeType": "YulAssignment",
"src": "5698:12:1",
"value": {
"name": "value",
"nativeSrc": "5705:5:1",
"nodeType": "YulIdentifier",
"src": "5705:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "5698:3:1",
"nodeType": "YulIdentifier",
"src": "5698:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "5641:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5674:5:1",
"nodeType": "YulTypedName",
"src": "5674:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "5684:3:1",
"nodeType": "YulTypedName",
"src": "5684:3:1",
"type": ""
}
],
"src": "5641:75:1"
},
{
"body": {
"nativeSrc": "5798:193:1",
"nodeType": "YulBlock",
"src": "5798:193:1",
"statements": [
{
"nativeSrc": "5808:63:1",
"nodeType": "YulVariableDeclaration",
"src": "5808:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "5863:7:1",
"nodeType": "YulIdentifier",
"src": "5863:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "5832:30:1",
"nodeType": "YulIdentifier",
"src": "5832:30:1"
},
"nativeSrc": "5832:39:1",
"nodeType": "YulFunctionCall",
"src": "5832:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "5812:16:1",
"nodeType": "YulTypedName",
"src": "5812:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5887:4:1",
"nodeType": "YulIdentifier",
"src": "5887:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "5927:4:1",
"nodeType": "YulIdentifier",
"src": "5927:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "5921:5:1",
"nodeType": "YulIdentifier",
"src": "5921:5:1"
},
"nativeSrc": "5921:11:1",
"nodeType": "YulFunctionCall",
"src": "5921:11:1"
},
{
"name": "offset",
"nativeSrc": "5934:6:1",
"nodeType": "YulIdentifier",
"src": "5934:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "5966:16:1",
"nodeType": "YulIdentifier",
"src": "5966:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "5942:23:1",
"nodeType": "YulIdentifier",
"src": "5942:23:1"
},
"nativeSrc": "5942:41:1",
"nodeType": "YulFunctionCall",
"src": "5942:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "5893:27:1",
"nodeType": "YulIdentifier",
"src": "5893:27:1"
},
"nativeSrc": "5893:91:1",
"nodeType": "YulFunctionCall",
"src": "5893:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5880:6:1",
"nodeType": "YulIdentifier",
"src": "5880:6:1"
},
"nativeSrc": "5880:105:1",
"nodeType": "YulFunctionCall",
"src": "5880:105:1"
},
"nativeSrc": "5880:105:1",
"nodeType": "YulExpressionStatement",
"src": "5880:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "5722:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "5775:4:1",
"nodeType": "YulTypedName",
"src": "5775:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "5781:6:1",
"nodeType": "YulTypedName",
"src": "5781:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "5789:7:1",
"nodeType": "YulTypedName",
"src": "5789:7:1",
"type": ""
}
],
"src": "5722:269:1"
},
{
"body": {
"nativeSrc": "6046:24:1",
"nodeType": "YulBlock",
"src": "6046:24:1",
"statements": [
{
"nativeSrc": "6056:8:1",
"nodeType": "YulAssignment",
"src": "6056:8:1",
"value": {
"kind": "number",
"nativeSrc": "6063:1:1",
"nodeType": "YulLiteral",
"src": "6063:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "6056:3:1",
"nodeType": "YulIdentifier",
"src": "6056:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "5997:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "6042:3:1",
"nodeType": "YulTypedName",
"src": "6042:3:1",
"type": ""
}
],
"src": "5997:73:1"
},
{
"body": {
"nativeSrc": "6129:136:1",
"nodeType": "YulBlock",
"src": "6129:136:1",
"statements": [
{
"nativeSrc": "6139:46:1",
"nodeType": "YulVariableDeclaration",
"src": "6139:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "6153:30:1",
"nodeType": "YulIdentifier",
"src": "6153:30:1"
},
"nativeSrc": "6153:32:1",
"nodeType": "YulFunctionCall",
"src": "6153:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "6143:6:1",
"nodeType": "YulTypedName",
"src": "6143:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "6238:4:1",
"nodeType": "YulIdentifier",
"src": "6238:4:1"
},
{
"name": "offset",
"nativeSrc": "6244:6:1",
"nodeType": "YulIdentifier",
"src": "6244:6:1"
},
{
"name": "zero_0",
"nativeSrc": "6252:6:1",
"nodeType": "YulIdentifier",
"src": "6252:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "6194:43:1",
"nodeType": "YulIdentifier",
"src": "6194:43:1"
},
"nativeSrc": "6194:65:1",
"nodeType": "YulFunctionCall",
"src": "6194:65:1"
},
"nativeSrc": "6194:65:1",
"nodeType": "YulExpressionStatement",
"src": "6194:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "6076:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "6115:4:1",
"nodeType": "YulTypedName",
"src": "6115:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "6121:6:1",
"nodeType": "YulTypedName",
"src": "6121:6:1",
"type": ""
}
],
"src": "6076:189:1"
},
{
"body": {
"nativeSrc": "6321:136:1",
"nodeType": "YulBlock",
"src": "6321:136:1",
"statements": [
{
"body": {
"nativeSrc": "6388:63:1",
"nodeType": "YulBlock",
"src": "6388:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "6432:5:1",
"nodeType": "YulIdentifier",
"src": "6432:5:1"
},
{
"kind": "number",
"nativeSrc": "6439:1:1",
"nodeType": "YulLiteral",
"src": "6439:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "6402:29:1",
"nodeType": "YulIdentifier",
"src": "6402:29:1"
},
"nativeSrc": "6402:39:1",
"nodeType": "YulFunctionCall",
"src": "6402:39:1"
},
"nativeSrc": "6402:39:1",
"nodeType": "YulExpressionStatement",
"src": "6402:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "6341:5:1",
"nodeType": "YulIdentifier",
"src": "6341:5:1"
},
{
"name": "end",
"nativeSrc": "6348:3:1",
"nodeType": "YulIdentifier",
"src": "6348:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "6338:2:1",
"nodeType": "YulIdentifier",
"src": "6338:2:1"
},
"nativeSrc": "6338:14:1",
"nodeType": "YulFunctionCall",
"src": "6338:14:1"
},
"nativeSrc": "6331:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "6353:26:1",
"nodeType": "YulBlock",
"src": "6353:26:1",
"statements": [
{
"nativeSrc": "6355:22:1",
"nodeType": "YulAssignment",
"src": "6355:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "6368:5:1",
"nodeType": "YulIdentifier",
"src": "6368:5:1"
},
{
"kind": "number",
"nativeSrc": "6375:1:1",
"nodeType": "YulLiteral",
"src": "6375:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6364:3:1",
"nodeType": "YulIdentifier",
"src": "6364:3:1"
},
"nativeSrc": "6364:13:1",
"nodeType": "YulFunctionCall",
"src": "6364:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "6355:5:1",
"nodeType": "YulIdentifier",
"src": "6355:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "6335:2:1",
"nodeType": "YulBlock",
"src": "6335:2:1",
"statements": []
},
"src": "6331:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "6271:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "6309:5:1",
"nodeType": "YulTypedName",
"src": "6309:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "6316:3:1",
"nodeType": "YulTypedName",
"src": "6316:3:1",
"type": ""
}
],
"src": "6271:186:1"
},
{
"body": {
"nativeSrc": "6542:464:1",
"nodeType": "YulBlock",
"src": "6542:464:1",
"statements": [
{
"body": {
"nativeSrc": "6568:431:1",
"nodeType": "YulBlock",
"src": "6568:431:1",
"statements": [
{
"nativeSrc": "6582:54:1",
"nodeType": "YulVariableDeclaration",
"src": "6582:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "6630:5:1",
"nodeType": "YulIdentifier",
"src": "6630:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "6598:31:1",
"nodeType": "YulIdentifier",
"src": "6598:31:1"
},
"nativeSrc": "6598:38:1",
"nodeType": "YulFunctionCall",
"src": "6598:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "6586:8:1",
"nodeType": "YulTypedName",
"src": "6586:8:1",
"type": ""
}
]
},
{
"nativeSrc": "6649:63:1",
"nodeType": "YulVariableDeclaration",
"src": "6649:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "6672:8:1",
"nodeType": "YulIdentifier",
"src": "6672:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "6700:10:1",
"nodeType": "YulIdentifier",
"src": "6700:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "6682:17:1",
"nodeType": "YulIdentifier",
"src": "6682:17:1"
},
"nativeSrc": "6682:29:1",
"nodeType": "YulFunctionCall",
"src": "6682:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6668:3:1",
"nodeType": "YulIdentifier",
"src": "6668:3:1"
},
"nativeSrc": "6668:44:1",
"nodeType": "YulFunctionCall",
"src": "6668:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "6653:11:1",
"nodeType": "YulTypedName",
"src": "6653:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6869:27:1",
"nodeType": "YulBlock",
"src": "6869:27:1",
"statements": [
{
"nativeSrc": "6871:23:1",
"nodeType": "YulAssignment",
"src": "6871:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "6886:8:1",
"nodeType": "YulIdentifier",
"src": "6886:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "6871:11:1",
"nodeType": "YulIdentifier",
"src": "6871:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "6853:10:1",
"nodeType": "YulIdentifier",
"src": "6853:10:1"
},
{
"kind": "number",
"nativeSrc": "6865:2:1",
"nodeType": "YulLiteral",
"src": "6865:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "6850:2:1",
"nodeType": "YulIdentifier",
"src": "6850:2:1"
},
"nativeSrc": "6850:18:1",
"nodeType": "YulFunctionCall",
"src": "6850:18:1"
},
"nativeSrc": "6847:49:1",
"nodeType": "YulIf",
"src": "6847:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "6938:11:1",
"nodeType": "YulIdentifier",
"src": "6938:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "6955:8:1",
"nodeType": "YulIdentifier",
"src": "6955:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "6983:3:1",
"nodeType": "YulIdentifier",
"src": "6983:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "6965:17:1",
"nodeType": "YulIdentifier",
"src": "6965:17:1"
},
"nativeSrc": "6965:22:1",
"nodeType": "YulFunctionCall",
"src": "6965:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6951:3:1",
"nodeType": "YulIdentifier",
"src": "6951:3:1"
},
"nativeSrc": "6951:37:1",
"nodeType": "YulFunctionCall",
"src": "6951:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "6909:28:1",
"nodeType": "YulIdentifier",
"src": "6909:28:1"
},
"nativeSrc": "6909:80:1",
"nodeType": "YulFunctionCall",
"src": "6909:80:1"
},
"nativeSrc": "6909:80:1",
"nodeType": "YulExpressionStatement",
"src": "6909:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "6559:3:1",
"nodeType": "YulIdentifier",
"src": "6559:3:1"
},
{
"kind": "number",
"nativeSrc": "6564:2:1",
"nodeType": "YulLiteral",
"src": "6564:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6556:2:1",
"nodeType": "YulIdentifier",
"src": "6556:2:1"
},
"nativeSrc": "6556:11:1",
"nodeType": "YulFunctionCall",
"src": "6556:11:1"
},
"nativeSrc": "6553:446:1",
"nodeType": "YulIf",
"src": "6553:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "6463:543:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "6518:5:1",
"nodeType": "YulTypedName",
"src": "6518:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "6525:3:1",
"nodeType": "YulTypedName",
"src": "6525:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "6530:10:1",
"nodeType": "YulTypedName",
"src": "6530:10:1",
"type": ""
}
],
"src": "6463:543:1"
},
{
"body": {
"nativeSrc": "7075:54:1",
"nodeType": "YulBlock",
"src": "7075:54:1",
"statements": [
{
"nativeSrc": "7085:37:1",
"nodeType": "YulAssignment",
"src": "7085:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "7110:4:1",
"nodeType": "YulIdentifier",
"src": "7110:4:1"
},
{
"name": "value",
"nativeSrc": "7116:5:1",
"nodeType": "YulIdentifier",
"src": "7116:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "7106:3:1",
"nodeType": "YulIdentifier",
"src": "7106:3:1"
},
"nativeSrc": "7106:16:1",
"nodeType": "YulFunctionCall",
"src": "7106:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "7085:8:1",
"nodeType": "YulIdentifier",
"src": "7085:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "7012:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "7050:4:1",
"nodeType": "YulTypedName",
"src": "7050:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "7056:5:1",
"nodeType": "YulTypedName",
"src": "7056:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "7066:8:1",
"nodeType": "YulTypedName",
"src": "7066:8:1",
"type": ""
}
],
"src": "7012:117:1"
},
{
"body": {
"nativeSrc": "7186:118:1",
"nodeType": "YulBlock",
"src": "7186:118:1",
"statements": [
{
"nativeSrc": "7196:68:1",
"nodeType": "YulVariableDeclaration",
"src": "7196:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "7245:1:1",
"nodeType": "YulLiteral",
"src": "7245:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "7248:5:1",
"nodeType": "YulIdentifier",
"src": "7248:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7241:3:1",
"nodeType": "YulIdentifier",
"src": "7241:3:1"
},
"nativeSrc": "7241:13:1",
"nodeType": "YulFunctionCall",
"src": "7241:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "7260:1:1",
"nodeType": "YulLiteral",
"src": "7260:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "7256:3:1",
"nodeType": "YulIdentifier",
"src": "7256:3:1"
},
"nativeSrc": "7256:6:1",
"nodeType": "YulFunctionCall",
"src": "7256:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "7212:28:1",
"nodeType": "YulIdentifier",
"src": "7212:28:1"
},
"nativeSrc": "7212:51:1",
"nodeType": "YulFunctionCall",
"src": "7212:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "7208:3:1",
"nodeType": "YulIdentifier",
"src": "7208:3:1"
},
"nativeSrc": "7208:56:1",
"nodeType": "YulFunctionCall",
"src": "7208:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "7200:4:1",
"nodeType": "YulTypedName",
"src": "7200:4:1",
"type": ""
}
]
},
{
"nativeSrc": "7273:25:1",
"nodeType": "YulAssignment",
"src": "7273:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "7287:4:1",
"nodeType": "YulIdentifier",
"src": "7287:4:1"
},
{
"name": "mask",
"nativeSrc": "7293:4:1",
"nodeType": "YulIdentifier",
"src": "7293:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7283:3:1",
"nodeType": "YulIdentifier",
"src": "7283:3:1"
},
"nativeSrc": "7283:15:1",
"nodeType": "YulFunctionCall",
"src": "7283:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "7273:6:1",
"nodeType": "YulIdentifier",
"src": "7273:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "7135:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "7163:4:1",
"nodeType": "YulTypedName",
"src": "7163:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "7169:5:1",
"nodeType": "YulTypedName",
"src": "7169:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "7179:6:1",
"nodeType": "YulTypedName",
"src": "7179:6:1",
"type": ""
}
],
"src": "7135:169:1"
},
{
"body": {
"nativeSrc": "7390:214:1",
"nodeType": "YulBlock",
"src": "7390:214:1",
"statements": [
{
"nativeSrc": "7523:37:1",
"nodeType": "YulAssignment",
"src": "7523:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "7550:4:1",
"nodeType": "YulIdentifier",
"src": "7550:4:1"
},
{
"name": "len",
"nativeSrc": "7556:3:1",
"nodeType": "YulIdentifier",
"src": "7556:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "7531:18:1",
"nodeType": "YulIdentifier",
"src": "7531:18:1"
},
"nativeSrc": "7531:29:1",
"nodeType": "YulFunctionCall",
"src": "7531:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "7523:4:1",
"nodeType": "YulIdentifier",
"src": "7523:4:1"
}
]
},
{
"nativeSrc": "7569:29:1",
"nodeType": "YulAssignment",
"src": "7569:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "7580:4:1",
"nodeType": "YulIdentifier",
"src": "7580:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "7590:1:1",
"nodeType": "YulLiteral",
"src": "7590:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "7593:3:1",
"nodeType": "YulIdentifier",
"src": "7593:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7586:3:1",
"nodeType": "YulIdentifier",
"src": "7586:3:1"
},
"nativeSrc": "7586:11:1",
"nodeType": "YulFunctionCall",
"src": "7586:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "7577:2:1",
"nodeType": "YulIdentifier",
"src": "7577:2:1"
},
"nativeSrc": "7577:21:1",
"nodeType": "YulFunctionCall",
"src": "7577:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "7569:4:1",
"nodeType": "YulIdentifier",
"src": "7569:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "7309:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "7371:4:1",
"nodeType": "YulTypedName",
"src": "7371:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "7377:3:1",
"nodeType": "YulTypedName",
"src": "7377:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "7385:4:1",
"nodeType": "YulTypedName",
"src": "7385:4:1",
"type": ""
}
],
"src": "7309:295:1"
},
{
"body": {
"nativeSrc": "7701:1303:1",
"nodeType": "YulBlock",
"src": "7701:1303:1",
"statements": [
{
"nativeSrc": "7712:51:1",
"nodeType": "YulVariableDeclaration",
"src": "7712:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "7759:3:1",
"nodeType": "YulIdentifier",
"src": "7759:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7726:32:1",
"nodeType": "YulIdentifier",
"src": "7726:32:1"
},
"nativeSrc": "7726:37:1",
"nodeType": "YulFunctionCall",
"src": "7726:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "7716:6:1",
"nodeType": "YulTypedName",
"src": "7716:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7848:22:1",
"nodeType": "YulBlock",
"src": "7848:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "7850:16:1",
"nodeType": "YulIdentifier",
"src": "7850:16:1"
},
"nativeSrc": "7850:18:1",
"nodeType": "YulFunctionCall",
"src": "7850:18:1"
},
"nativeSrc": "7850:18:1",
"nodeType": "YulExpressionStatement",
"src": "7850:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "7820:6:1",
"nodeType": "YulIdentifier",
"src": "7820:6:1"
},
{
"kind": "number",
"nativeSrc": "7828:18:1",
"nodeType": "YulLiteral",
"src": "7828:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7817:2:1",
"nodeType": "YulIdentifier",
"src": "7817:2:1"
},
"nativeSrc": "7817:30:1",
"nodeType": "YulFunctionCall",
"src": "7817:30:1"
},
"nativeSrc": "7814:56:1",
"nodeType": "YulIf",
"src": "7814:56:1"
},
{
"nativeSrc": "7880:52:1",
"nodeType": "YulVariableDeclaration",
"src": "7880:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "7926:4:1",
"nodeType": "YulIdentifier",
"src": "7926:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "7920:5:1",
"nodeType": "YulIdentifier",
"src": "7920:5:1"
},
"nativeSrc": "7920:11:1",
"nodeType": "YulFunctionCall",
"src": "7920:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "7894:25:1",
"nodeType": "YulIdentifier",
"src": "7894:25:1"
},
"nativeSrc": "7894:38:1",
"nodeType": "YulFunctionCall",
"src": "7894:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "7884:6:1",
"nodeType": "YulTypedName",
"src": "7884:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8025:4:1",
"nodeType": "YulIdentifier",
"src": "8025:4:1"
},
{
"name": "oldLen",
"nativeSrc": "8031:6:1",
"nodeType": "YulIdentifier",
"src": "8031:6:1"
},
{
"name": "newLen",
"nativeSrc": "8039:6:1",
"nodeType": "YulIdentifier",
"src": "8039:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "7979:45:1",
"nodeType": "YulIdentifier",
"src": "7979:45:1"
},
"nativeSrc": "7979:67:1",
"nodeType": "YulFunctionCall",
"src": "7979:67:1"
},
"nativeSrc": "7979:67:1",
"nodeType": "YulExpressionStatement",
"src": "7979:67:1"
},
{
"nativeSrc": "8056:18:1",
"nodeType": "YulVariableDeclaration",
"src": "8056:18:1",
"value": {
"kind": "number",
"nativeSrc": "8073:1:1",
"nodeType": "YulLiteral",
"src": "8073:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "8060:9:1",
"nodeType": "YulTypedName",
"src": "8060:9:1",
"type": ""
}
]
},
{
"nativeSrc": "8084:17:1",
"nodeType": "YulAssignment",
"src": "8084:17:1",
"value": {
"kind": "number",
"nativeSrc": "8097:4:1",
"nodeType": "YulLiteral",
"src": "8097:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "8084:9:1",
"nodeType": "YulIdentifier",
"src": "8084:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "8148:611:1",
"nodeType": "YulBlock",
"src": "8148:611:1",
"statements": [
{
"nativeSrc": "8162:37:1",
"nodeType": "YulVariableDeclaration",
"src": "8162:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "8181:6:1",
"nodeType": "YulIdentifier",
"src": "8181:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "8193:4:1",
"nodeType": "YulLiteral",
"src": "8193:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "8189:3:1",
"nodeType": "YulIdentifier",
"src": "8189:3:1"
},
"nativeSrc": "8189:9:1",
"nodeType": "YulFunctionCall",
"src": "8189:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8177:3:1",
"nodeType": "YulIdentifier",
"src": "8177:3:1"
},
"nativeSrc": "8177:22:1",
"nodeType": "YulFunctionCall",
"src": "8177:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "8166:7:1",
"nodeType": "YulTypedName",
"src": "8166:7:1",
"type": ""
}
]
},
{
"nativeSrc": "8213:51:1",
"nodeType": "YulVariableDeclaration",
"src": "8213:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8259:4:1",
"nodeType": "YulIdentifier",
"src": "8259:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "8227:31:1",
"nodeType": "YulIdentifier",
"src": "8227:31:1"
},
"nativeSrc": "8227:37:1",
"nodeType": "YulFunctionCall",
"src": "8227:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "8217:6:1",
"nodeType": "YulTypedName",
"src": "8217:6:1",
"type": ""
}
]
},
{
"nativeSrc": "8277:10:1",
"nodeType": "YulVariableDeclaration",
"src": "8277:10:1",
"value": {
"kind": "number",
"nativeSrc": "8286:1:1",
"nodeType": "YulLiteral",
"src": "8286:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "8281:1:1",
"nodeType": "YulTypedName",
"src": "8281:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8345:163:1",
"nodeType": "YulBlock",
"src": "8345:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "8370:6:1",
"nodeType": "YulIdentifier",
"src": "8370:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "8388:3:1",
"nodeType": "YulIdentifier",
"src": "8388:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "8393:9:1",
"nodeType": "YulIdentifier",
"src": "8393:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8384:3:1",
"nodeType": "YulIdentifier",
"src": "8384:3:1"
},
"nativeSrc": "8384:19:1",
"nodeType": "YulFunctionCall",
"src": "8384:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8378:5:1",
"nodeType": "YulIdentifier",
"src": "8378:5:1"
},
"nativeSrc": "8378:26:1",
"nodeType": "YulFunctionCall",
"src": "8378:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "8363:6:1",
"nodeType": "YulIdentifier",
"src": "8363:6:1"
},
"nativeSrc": "8363:42:1",
"nodeType": "YulFunctionCall",
"src": "8363:42:1"
},
"nativeSrc": "8363:42:1",
"nodeType": "YulExpressionStatement",
"src": "8363:42:1"
},
{
"nativeSrc": "8422:24:1",
"nodeType": "YulAssignment",
"src": "8422:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "8436:6:1",
"nodeType": "YulIdentifier",
"src": "8436:6:1"
},
{
"kind": "number",
"nativeSrc": "8444:1:1",
"nodeType": "YulLiteral",
"src": "8444:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8432:3:1",
"nodeType": "YulIdentifier",
"src": "8432:3:1"
},
"nativeSrc": "8432:14:1",
"nodeType": "YulFunctionCall",
"src": "8432:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "8422:6:1",
"nodeType": "YulIdentifier",
"src": "8422:6:1"
}
]
},
{
"nativeSrc": "8463:31:1",
"nodeType": "YulAssignment",
"src": "8463:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "8480:9:1",
"nodeType": "YulIdentifier",
"src": "8480:9:1"
},
{
"kind": "number",
"nativeSrc": "8491:2:1",
"nodeType": "YulLiteral",
"src": "8491:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8476:3:1",
"nodeType": "YulIdentifier",
"src": "8476:3:1"
},
"nativeSrc": "8476:18:1",
"nodeType": "YulFunctionCall",
"src": "8476:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "8463:9:1",
"nodeType": "YulIdentifier",
"src": "8463:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "8311:1:1",
"nodeType": "YulIdentifier",
"src": "8311:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "8314:7:1",
"nodeType": "YulIdentifier",
"src": "8314:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8308:2:1",
"nodeType": "YulIdentifier",
"src": "8308:2:1"
},
"nativeSrc": "8308:14:1",
"nodeType": "YulFunctionCall",
"src": "8308:14:1"
},
"nativeSrc": "8300:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "8323:21:1",
"nodeType": "YulBlock",
"src": "8323:21:1",
"statements": [
{
"nativeSrc": "8325:17:1",
"nodeType": "YulAssignment",
"src": "8325:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "8334:1:1",
"nodeType": "YulIdentifier",
"src": "8334:1:1"
},
{
"kind": "number",
"nativeSrc": "8337:4:1",
"nodeType": "YulLiteral",
"src": "8337:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8330:3:1",
"nodeType": "YulIdentifier",
"src": "8330:3:1"
},
"nativeSrc": "8330:12:1",
"nodeType": "YulFunctionCall",
"src": "8330:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "8325:1:1",
"nodeType": "YulIdentifier",
"src": "8325:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "8304:3:1",
"nodeType": "YulBlock",
"src": "8304:3:1",
"statements": []
},
"src": "8300:208:1"
},
{
"body": {
"nativeSrc": "8544:156:1",
"nodeType": "YulBlock",
"src": "8544:156:1",
"statements": [
{
"nativeSrc": "8562:43:1",
"nodeType": "YulVariableDeclaration",
"src": "8562:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "8589:3:1",
"nodeType": "YulIdentifier",
"src": "8589:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "8594:9:1",
"nodeType": "YulIdentifier",
"src": "8594:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8585:3:1",
"nodeType": "YulIdentifier",
"src": "8585:3:1"
},
"nativeSrc": "8585:19:1",
"nodeType": "YulFunctionCall",
"src": "8585:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8579:5:1",
"nodeType": "YulIdentifier",
"src": "8579:5:1"
},
"nativeSrc": "8579:26:1",
"nodeType": "YulFunctionCall",
"src": "8579:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "8566:9:1",
"nodeType": "YulTypedName",
"src": "8566:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "8629:6:1",
"nodeType": "YulIdentifier",
"src": "8629:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "8656:9:1",
"nodeType": "YulIdentifier",
"src": "8656:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "8671:6:1",
"nodeType": "YulIdentifier",
"src": "8671:6:1"
},
{
"kind": "number",
"nativeSrc": "8679:4:1",
"nodeType": "YulLiteral",
"src": "8679:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8667:3:1",
"nodeType": "YulIdentifier",
"src": "8667:3:1"
},
"nativeSrc": "8667:17:1",
"nodeType": "YulFunctionCall",
"src": "8667:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "8637:18:1",
"nodeType": "YulIdentifier",
"src": "8637:18:1"
},
"nativeSrc": "8637:48:1",
"nodeType": "YulFunctionCall",
"src": "8637:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "8622:6:1",
"nodeType": "YulIdentifier",
"src": "8622:6:1"
},
"nativeSrc": "8622:64:1",
"nodeType": "YulFunctionCall",
"src": "8622:64:1"
},
"nativeSrc": "8622:64:1",
"nodeType": "YulExpressionStatement",
"src": "8622:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "8527:7:1",
"nodeType": "YulIdentifier",
"src": "8527:7:1"
},
{
"name": "newLen",
"nativeSrc": "8536:6:1",
"nodeType": "YulIdentifier",
"src": "8536:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8524:2:1",
"nodeType": "YulIdentifier",
"src": "8524:2:1"
},
"nativeSrc": "8524:19:1",
"nodeType": "YulFunctionCall",
"src": "8524:19:1"
},
"nativeSrc": "8521:179:1",
"nodeType": "YulIf",
"src": "8521:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8720:4:1",
"nodeType": "YulIdentifier",
"src": "8720:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "8734:6:1",
"nodeType": "YulIdentifier",
"src": "8734:6:1"
},
{
"kind": "number",
"nativeSrc": "8742:1:1",
"nodeType": "YulLiteral",
"src": "8742:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "8730:3:1",
"nodeType": "YulIdentifier",
"src": "8730:3:1"
},
"nativeSrc": "8730:14:1",
"nodeType": "YulFunctionCall",
"src": "8730:14:1"
},
{
"kind": "number",
"nativeSrc": "8746:1:1",
"nodeType": "YulLiteral",
"src": "8746:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8726:3:1",
"nodeType": "YulIdentifier",
"src": "8726:3:1"
},
"nativeSrc": "8726:22:1",
"nodeType": "YulFunctionCall",
"src": "8726:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "8713:6:1",
"nodeType": "YulIdentifier",
"src": "8713:6:1"
},
"nativeSrc": "8713:36:1",
"nodeType": "YulFunctionCall",
"src": "8713:36:1"
},
"nativeSrc": "8713:36:1",
"nodeType": "YulExpressionStatement",
"src": "8713:36:1"
}
]
},
"nativeSrc": "8141:618:1",
"nodeType": "YulCase",
"src": "8141:618:1",
"value": {
"kind": "number",
"nativeSrc": "8146:1:1",
"nodeType": "YulLiteral",
"src": "8146:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "8776:222:1",
"nodeType": "YulBlock",
"src": "8776:222:1",
"statements": [
{
"nativeSrc": "8790:14:1",
"nodeType": "YulVariableDeclaration",
"src": "8790:14:1",
"value": {
"kind": "number",
"nativeSrc": "8803:1:1",
"nodeType": "YulLiteral",
"src": "8803:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "8794:5:1",
"nodeType": "YulTypedName",
"src": "8794:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8827:67:1",
"nodeType": "YulBlock",
"src": "8827:67:1",
"statements": [
{
"nativeSrc": "8845:35:1",
"nodeType": "YulAssignment",
"src": "8845:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "8864:3:1",
"nodeType": "YulIdentifier",
"src": "8864:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "8869:9:1",
"nodeType": "YulIdentifier",
"src": "8869:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8860:3:1",
"nodeType": "YulIdentifier",
"src": "8860:3:1"
},
"nativeSrc": "8860:19:1",
"nodeType": "YulFunctionCall",
"src": "8860:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8854:5:1",
"nodeType": "YulIdentifier",
"src": "8854:5:1"
},
"nativeSrc": "8854:26:1",
"nodeType": "YulFunctionCall",
"src": "8854:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "8845:5:1",
"nodeType": "YulIdentifier",
"src": "8845:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "8820:6:1",
"nodeType": "YulIdentifier",
"src": "8820:6:1"
},
"nativeSrc": "8817:77:1",
"nodeType": "YulIf",
"src": "8817:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8914:4:1",
"nodeType": "YulIdentifier",
"src": "8914:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "8973:5:1",
"nodeType": "YulIdentifier",
"src": "8973:5:1"
},
{
"name": "newLen",
"nativeSrc": "8980:6:1",
"nodeType": "YulIdentifier",
"src": "8980:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "8920:52:1",
"nodeType": "YulIdentifier",
"src": "8920:52:1"
},
"nativeSrc": "8920:67:1",
"nodeType": "YulFunctionCall",
"src": "8920:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "8907:6:1",
"nodeType": "YulIdentifier",
"src": "8907:6:1"
},
"nativeSrc": "8907:81:1",
"nodeType": "YulFunctionCall",
"src": "8907:81:1"
},
"nativeSrc": "8907:81:1",
"nodeType": "YulExpressionStatement",
"src": "8907:81:1"
}
]
},
"nativeSrc": "8768:230:1",
"nodeType": "YulCase",
"src": "8768:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "8121:6:1",
"nodeType": "YulIdentifier",
"src": "8121:6:1"
},
{
"kind": "number",
"nativeSrc": "8129:2:1",
"nodeType": "YulLiteral",
"src": "8129:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8118:2:1",
"nodeType": "YulIdentifier",
"src": "8118:2:1"
},
"nativeSrc": "8118:14:1",
"nodeType": "YulFunctionCall",
"src": "8118:14:1"
},
"nativeSrc": "8111:887:1",
"nodeType": "YulSwitch",
"src": "8111:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "7609:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "7690:4:1",
"nodeType": "YulTypedName",
"src": "7690:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "7696:3:1",
"nodeType": "YulTypedName",
"src": "7696:3:1",
"type": ""
}
],
"src": "7609:1395: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 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_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_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60a060405234801562000010575f80fd5b506040516200131a3803806200131a833981810160405281019062000036919062000228565b806080818152505082600290816200004f9190620004ed565b508160039081620000619190620004ed565b50505050620005d1565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000cc8262000084565b810181811067ffffffffffffffff82111715620000ee57620000ed62000094565b5b80604052505050565b5f620001026200006b565b9050620001108282620000c1565b919050565b5f67ffffffffffffffff82111562000132576200013162000094565b5b6200013d8262000084565b9050602081019050919050565b5f5b83811015620001695780820151818401526020810190506200014c565b5f8484015250505050565b5f6200018a620001848462000115565b620000f7565b905082815260208101848484011115620001a957620001a862000080565b5b620001b68482856200014a565b509392505050565b5f82601f830112620001d557620001d46200007c565b5b8151620001e784826020860162000174565b91505092915050565b5f819050919050565b6200020481620001f0565b81146200020f575f80fd5b50565b5f815190506200022281620001f9565b92915050565b5f805f6060848603121562000242576200024162000074565b5b5f84015167ffffffffffffffff81111562000262576200026162000078565b5b6200027086828701620001be565b935050602084015167ffffffffffffffff81111562000294576200029362000078565b5b620002a286828701620001be565b9250506040620002b58682870162000212565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200030e57607f821691505b602082108103620003245762000323620002c9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200034b565b6200039486836200034b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620003d5620003cf620003c984620001f0565b620003ac565b620001f0565b9050919050565b5f819050919050565b620003f083620003b5565b62000408620003ff82620003dc565b84845462000357565b825550505050565b5f90565b6200041e62000410565b6200042b818484620003e5565b505050565b5b818110156200045257620004465f8262000414565b60018101905062000431565b5050565b601f821115620004a1576200046b816200032a565b62000476846200033c565b8101602085101562000486578190505b6200049e62000495856200033c565b83018262000430565b50505b505050565b5f82821c905092915050565b5f620004c35f1984600802620004a6565b1980831691505092915050565b5f620004dd8383620004b2565b9150826002028217905092915050565b620004f882620002bf565b67ffffffffffffffff81111562000514576200051362000094565b5b620005208254620002f6565b6200052d82828562000456565b5f60209050601f83116001811462000563575f84156200054e578287015190505b6200055a8582620004d0565b865550620005c9565b601f19841662000573866200032a565b5f5b828110156200059c5784890151825560018201915060208501945060208101905062000575565b86831015620005bc5784890151620005b8601f891682620004b2565b8355505b6001600288020188555050505b505050505050565b608051610d30620005ea5f395f6103e90152610d305ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806370a082311161006f57806370a082311461016557806395d89b4114610195578063a9059cbb146101b3578063b09f1266146101e3578063d28d885214610201578063dd62ed3e1461021f576100a7565b806306fdde03146100ab578063095ea7b3146100c957806318160ddd146100f957806323b872dd14610117578063313ce56714610147575b5f80fd5b6100b361024f565b6040516100c0919061096b565b60405180910390f35b6100e360048036038101906100de9190610a1c565b6102df565b6040516100f09190610a74565b60405180910390f35b6101016103e6565b60405161010e9190610a9c565b60405180910390f35b610131600480360381019061012c9190610ab5565b61040d565b60405161013e9190610a74565b60405180910390f35b61014f61053c565b60405161015c9190610b20565b60405180910390f35b61017f600480360381019061017a9190610b39565b610544565b60405161018c9190610a9c565b60405180910390f35b61019d610589565b6040516101aa919061096b565b60405180910390f35b6101cd60048036038101906101c89190610a1c565b610619565b6040516101da9190610a74565b60405180910390f35b6101eb610747565b6040516101f8919061096b565b60405180910390f35b6102096107d3565b604051610216919061096b565b60405180910390f35b61023960048036038101906102349190610b64565b61085f565b6040516102469190610a9c565b60405180910390f35b60606002805461025e90610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461028a90610bcf565b80156102d55780601f106102ac576101008083540402835291602001916102d5565b820191905f5260205f20905b8154815290600101906020018083116102b857829003601f168201915b5050505050905090565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482101561035f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035690610c49565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490610c49565b60405180910390fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104d89190610c94565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461052a9190610cc7565b92505081905550600190509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606003805461059890610bcf565b80601f01602080910402602001604051908101604052809291908181526020018280546105c490610bcf565b801561060f5780601f106105e65761010080835404028352916020019161060f565b820191905f5260205f20905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b5f815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069090610c49565b60405180910390fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106e49190610c94565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107369190610cc7565b925050819055506001905092915050565b6003805461075490610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461078090610bcf565b80156107cb5780601f106107a2576101008083540402835291602001916107cb565b820191905f5260205f20905b8154815290600101906020018083116107ae57829003601f168201915b505050505081565b600280546107e090610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461080c90610bcf565b80156108575780601f1061082e57610100808354040283529160200191610857565b820191905f5260205f20905b81548152906001019060200180831161083a57829003601f168201915b505050505081565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156109185780820151818401526020810190506108fd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61093d826108e1565b61094781856108eb565b93506109578185602086016108fb565b61096081610923565b840191505092915050565b5f6020820190508181035f8301526109838184610933565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109b88261098f565b9050919050565b6109c8816109ae565b81146109d2575f80fd5b50565b5f813590506109e3816109bf565b92915050565b5f819050919050565b6109fb816109e9565b8114610a05575f80fd5b50565b5f81359050610a16816109f2565b92915050565b5f8060408385031215610a3257610a3161098b565b5b5f610a3f858286016109d5565b9250506020610a5085828601610a08565b9150509250929050565b5f8115159050919050565b610a6e81610a5a565b82525050565b5f602082019050610a875f830184610a65565b92915050565b610a96816109e9565b82525050565b5f602082019050610aaf5f830184610a8d565b92915050565b5f805f60608486031215610acc57610acb61098b565b5b5f610ad9868287016109d5565b9350506020610aea868287016109d5565b9250506040610afb86828701610a08565b9150509250925092565b5f60ff82169050919050565b610b1a81610b05565b82525050565b5f602082019050610b335f830184610b11565b92915050565b5f60208284031215610b4e57610b4d61098b565b5b5f610b5b848285016109d5565b91505092915050565b5f8060408385031215610b7a57610b7961098b565b5b5f610b87858286016109d5565b9250506020610b98858286016109d5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610be657607f821691505b602082108103610bf957610bf8610ba2565b5b50919050565b7f696e737566696369656e742062616c616e6365000000000000000000000000005f82015250565b5f610c336013836108eb565b9150610c3e82610bff565b602082019050919050565b5f6020820190508181035f830152610c6081610c27565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c9e826109e9565b9150610ca9836109e9565b9250828203905081811115610cc157610cc0610c67565b5b92915050565b5f610cd1826109e9565b9150610cdc836109e9565b9250828201905080821115610cf457610cf3610c67565b5b9291505056fea2646970667358221220657dd4ac3bb63eb5eb4d46c3cbf4b43376542fb9f414acbccdfafa68290b1c6264736f6c63430008150033",
"opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x131A CODESIZE SUB DUP1 PUSH3 0x131A DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x36 SWAP2 SWAP1 PUSH3 0x228 JUMP JUMPDEST DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP3 PUSH1 0x2 SWAP1 DUP2 PUSH3 0x4F SWAP2 SWAP1 PUSH3 0x4ED JUMP JUMPDEST POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0x4ED JUMP JUMPDEST POP POP POP POP PUSH3 0x5D1 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT 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 PUSH3 0xCC DUP3 PUSH3 0x84 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0xEE JUMPI PUSH3 0xED PUSH3 0x94 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x102 PUSH3 0x6B JUMP JUMPDEST SWAP1 POP PUSH3 0x110 DUP3 DUP3 PUSH3 0xC1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x132 JUMPI PUSH3 0x131 PUSH3 0x94 JUMP JUMPDEST JUMPDEST PUSH3 0x13D DUP3 PUSH3 0x84 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x169 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x14C JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x18A PUSH3 0x184 DUP5 PUSH3 0x115 JUMP JUMPDEST PUSH3 0xF7 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x1A9 JUMPI PUSH3 0x1A8 PUSH3 0x80 JUMP JUMPDEST JUMPDEST PUSH3 0x1B6 DUP5 DUP3 DUP6 PUSH3 0x14A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1D5 JUMPI PUSH3 0x1D4 PUSH3 0x7C JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x1E7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x174 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x204 DUP2 PUSH3 0x1F0 JUMP JUMPDEST DUP2 EQ PUSH3 0x20F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0x222 DUP2 PUSH3 0x1F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x242 JUMPI PUSH3 0x241 PUSH3 0x74 JUMP JUMPDEST JUMPDEST PUSH0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x262 JUMPI PUSH3 0x261 PUSH3 0x78 JUMP JUMPDEST JUMPDEST PUSH3 0x270 DUP7 DUP3 DUP8 ADD PUSH3 0x1BE JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x294 JUMPI PUSH3 0x293 PUSH3 0x78 JUMP JUMPDEST JUMPDEST PUSH3 0x2A2 DUP7 DUP3 DUP8 ADD PUSH3 0x1BE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x2B5 DUP7 DUP3 DUP8 ADD PUSH3 0x212 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 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 PUSH3 0x30E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x324 JUMPI PUSH3 0x323 PUSH3 0x2C9 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH3 0x388 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x34B JUMP JUMPDEST PUSH3 0x394 DUP7 DUP4 PUSH3 0x34B 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 PUSH3 0x3D5 PUSH3 0x3CF PUSH3 0x3C9 DUP5 PUSH3 0x1F0 JUMP JUMPDEST PUSH3 0x3AC JUMP JUMPDEST PUSH3 0x1F0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3F0 DUP4 PUSH3 0x3B5 JUMP JUMPDEST PUSH3 0x408 PUSH3 0x3FF DUP3 PUSH3 0x3DC JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x357 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x41E PUSH3 0x410 JUMP JUMPDEST PUSH3 0x42B DUP2 DUP5 DUP5 PUSH3 0x3E5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x452 JUMPI PUSH3 0x446 PUSH0 DUP3 PUSH3 0x414 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x431 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x4A1 JUMPI PUSH3 0x46B DUP2 PUSH3 0x32A JUMP JUMPDEST PUSH3 0x476 DUP5 PUSH3 0x33C JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x486 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x49E PUSH3 0x495 DUP6 PUSH3 0x33C JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x430 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x4C3 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x4A6 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x4DD DUP4 DUP4 PUSH3 0x4B2 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x4F8 DUP3 PUSH3 0x2BF JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x514 JUMPI PUSH3 0x513 PUSH3 0x94 JUMP JUMPDEST JUMPDEST PUSH3 0x520 DUP3 SLOAD PUSH3 0x2F6 JUMP JUMPDEST PUSH3 0x52D DUP3 DUP3 DUP6 PUSH3 0x456 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x563 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x54E JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x55A DUP6 DUP3 PUSH3 0x4D0 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x5C9 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x573 DUP7 PUSH3 0x32A JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x59C JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x575 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x5BC JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x5B8 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x4B2 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 PUSH1 0x80 MLOAD PUSH2 0xD30 PUSH3 0x5EA PUSH0 CODECOPY PUSH0 PUSH2 0x3E9 ADD MSTORE PUSH2 0xD30 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA7 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB09F1266 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0xD28D8852 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x21F JUMPI PUSH2 0xA7 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x147 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xB3 PUSH2 0x24F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDE SWAP2 SWAP1 PUSH2 0xA1C JUMP JUMPDEST PUSH2 0x2DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH2 0x3E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0xAB5 JUMP JUMPDEST PUSH2 0x40D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14F PUSH2 0x53C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17A SWAP2 SWAP1 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18C SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19D PUSH2 0x589 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C8 SWAP2 SWAP1 PUSH2 0xA1C JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EB PUSH2 0x747 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F8 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x209 PUSH2 0x7D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x234 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x25E SWAP1 PUSH2 0xBCF 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 0x28A SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D5 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 0x2B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 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 LT ISZERO PUSH2 0x35F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x356 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x48D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x484 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x4D8 SWAP2 SWAP1 PUSH2 0xC94 JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x52A SWAP2 SWAP1 PUSH2 0xCC7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x598 SWAP1 PUSH2 0xBCF 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 0x5C4 SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x60F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60F 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 0x5F2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x699 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x690 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x6E4 SWAP2 SWAP1 PUSH2 0xC94 JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x736 SWAP2 SWAP1 PUSH2 0xCC7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x754 SWAP1 PUSH2 0xBCF 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 0x780 SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7CB 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 0x7AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x7E0 SWAP1 PUSH2 0xBCF 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 0x80C SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x857 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x82E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x857 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 0x83A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 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 0x918 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x8FD 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 0x93D DUP3 PUSH2 0x8E1 JUMP JUMPDEST PUSH2 0x947 DUP2 DUP6 PUSH2 0x8EB JUMP JUMPDEST SWAP4 POP PUSH2 0x957 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x960 DUP2 PUSH2 0x923 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 0x983 DUP2 DUP5 PUSH2 0x933 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 0x9B8 DUP3 PUSH2 0x98F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9C8 DUP2 PUSH2 0x9AE JUMP JUMPDEST DUP2 EQ PUSH2 0x9D2 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9E3 DUP2 PUSH2 0x9BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FB DUP2 PUSH2 0x9E9 JUMP JUMPDEST DUP2 EQ PUSH2 0xA05 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA16 DUP2 PUSH2 0x9F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA32 JUMPI PUSH2 0xA31 PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3F DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA50 DUP6 DUP3 DUP7 ADD PUSH2 0xA08 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA6E DUP2 PUSH2 0xA5A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA87 PUSH0 DUP4 ADD DUP5 PUSH2 0xA65 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA96 DUP2 PUSH2 0x9E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAAF PUSH0 DUP4 ADD DUP5 PUSH2 0xA8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xACC JUMPI PUSH2 0xACB PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAD9 DUP7 DUP3 DUP8 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xAEA DUP7 DUP3 DUP8 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xAFB DUP7 DUP3 DUP8 ADD PUSH2 0xA08 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 0xB1A DUP2 PUSH2 0xB05 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB33 PUSH0 DUP4 ADD DUP5 PUSH2 0xB11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB4E JUMPI PUSH2 0xB4D PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB5B DUP5 DUP3 DUP6 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB7A JUMPI PUSH2 0xB79 PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB87 DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB98 DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 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 0xBE6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xBF9 JUMPI PUSH2 0xBF8 PUSH2 0xBA2 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x696E737566696369656E742062616C616E636500000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xC33 PUSH1 0x13 DUP4 PUSH2 0x8EB JUMP JUMPDEST SWAP2 POP PUSH2 0xC3E DUP3 PUSH2 0xBFF 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 0xC60 DUP2 PUSH2 0xC27 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC9E DUP3 PUSH2 0x9E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xCA9 DUP4 PUSH2 0x9E9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCC1 JUMPI PUSH2 0xCC0 PUSH2 0xC67 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xCD1 DUP3 PUSH2 0x9E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xCDC DUP4 PUSH2 0x9E9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xCF4 JUMPI PUSH2 0xCF3 PUSH2 0xC67 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x7DD4AC3BB63E 0xB5 0xEB 0x4D CHAINID 0xC3 0xCB DELEGATECALL 0xB4 CALLER PUSH23 0x542FB9F414ACBCCDFAFA68290B1C6264736F6C63430008 ISZERO STOP CALLER ",
"sourceMap": "70:2010:0:-:0;;;354:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;455:11;441:25;;;;;;484:5;476;:13;;;;;;:::i;:::-;;509:7;499;:17;;;;;;:::i;:::-;;354:169;;;70:2010;;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:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:77::-;2714:7;2743:5;2732:16;;2677:77;;;:::o;2760:122::-;2833:24;2851:5;2833:24;:::i;:::-;2826:5;2823:35;2813:63;;2872:1;2869;2862:12;2813:63;2760:122;:::o;2888:143::-;2945:5;2976:6;2970:13;2961:22;;2992:33;3019:5;2992:33;:::i;:::-;2888:143;;;;:::o;3037:1009::-;3145:6;3153;3161;3210:2;3198:9;3189:7;3185:23;3181:32;3178:119;;;3216:79;;:::i;:::-;3178:119;3357:1;3346:9;3342:17;3336:24;3387:18;3379:6;3376:30;3373:117;;;3409:79;;:::i;:::-;3373:117;3514:74;3580:7;3571:6;3560:9;3556:22;3514:74;:::i;:::-;3504:84;;3307:291;3658:2;3647:9;3643:18;3637:25;3689:18;3681:6;3678:30;3675:117;;;3711:79;;:::i;:::-;3675:117;3816:74;3882:7;3873:6;3862:9;3858:22;3816:74;:::i;:::-;3806:84;;3608:292;3939:2;3965:64;4021:7;4012:6;4001:9;3997:22;3965:64;:::i;:::-;3955:74;;3910:129;3037:1009;;;;;:::o;4052:99::-;4104:6;4138:5;4132:12;4122:22;;4052:99;;;:::o;4157:180::-;4205:77;4202:1;4195:88;4302:4;4299:1;4292:15;4326:4;4323:1;4316:15;4343:320;4387:6;4424:1;4418:4;4414:12;4404:22;;4471:1;4465:4;4461:12;4492:18;4482:81;;4548:4;4540:6;4536:17;4526:27;;4482:81;4610:2;4602:6;4599:14;4579:18;4576:38;4573:84;;4629:18;;:::i;:::-;4573:84;4394:269;4343:320;;;:::o;4669:141::-;4718:4;4741:3;4733:11;;4764:3;4761:1;4754:14;4798:4;4795:1;4785:18;4777:26;;4669:141;;;:::o;4816:93::-;4853:6;4900:2;4895;4888:5;4884:14;4880:23;4870:33;;4816:93;;;:::o;4915:107::-;4959:8;5009:5;5003:4;4999:16;4978:37;;4915:107;;;;:::o;5028:393::-;5097:6;5147:1;5135:10;5131:18;5170:97;5200:66;5189:9;5170:97;:::i;:::-;5288:39;5318:8;5307:9;5288:39;:::i;:::-;5276:51;;5360:4;5356:9;5349:5;5345:21;5336:30;;5409:4;5399:8;5395:19;5388:5;5385:30;5375:40;;5104:317;;5028:393;;;;;:::o;5427:60::-;5455:3;5476:5;5469:12;;5427:60;;;:::o;5493:142::-;5543:9;5576:53;5594:34;5603:24;5621:5;5603:24;:::i;:::-;5594:34;:::i;:::-;5576:53;:::i;:::-;5563:66;;5493:142;;;:::o;5641:75::-;5684:3;5705:5;5698:12;;5641:75;;;:::o;5722:269::-;5832:39;5863:7;5832:39;:::i;:::-;5893:91;5942:41;5966:16;5942:41;:::i;:::-;5934:6;5927:4;5921:11;5893:91;:::i;:::-;5887:4;5880:105;5798:193;5722:269;;;:::o;5997:73::-;6042:3;5997:73;:::o;6076:189::-;6153:32;;:::i;:::-;6194:65;6252:6;6244;6238:4;6194:65;:::i;:::-;6129:136;6076:189;;:::o;6271:186::-;6331:120;6348:3;6341:5;6338:14;6331:120;;;6402:39;6439:1;6432:5;6402:39;:::i;:::-;6375:1;6368:5;6364:13;6355:22;;6331:120;;;6271:186;;:::o;6463:543::-;6564:2;6559:3;6556:11;6553:446;;;6598:38;6630:5;6598:38;:::i;:::-;6682:29;6700:10;6682:29;:::i;:::-;6672:8;6668:44;6865:2;6853:10;6850:18;6847:49;;;6886:8;6871:23;;6847:49;6909:80;6965:22;6983:3;6965:22;:::i;:::-;6955:8;6951:37;6938:11;6909:80;:::i;:::-;6568:431;;6553:446;6463:543;;;:::o;7012:117::-;7066:8;7116:5;7110:4;7106:16;7085:37;;7012:117;;;;:::o;7135:169::-;7179:6;7212:51;7260:1;7256:6;7248:5;7245:1;7241:13;7212:51;:::i;:::-;7208:56;7293:4;7287;7283:15;7273:25;;7186:118;7135:169;;;;:::o;7309:295::-;7385:4;7531:29;7556:3;7550:4;7531:29;:::i;:::-;7523:37;;7593:3;7590:1;7586:11;7580:4;7577:21;7569:29;;7309:295;;;;:::o;7609:1395::-;7726:37;7759:3;7726:37;:::i;:::-;7828:18;7820:6;7817:30;7814:56;;;7850:18;;:::i;:::-;7814:56;7894:38;7926:4;7920:11;7894:38;:::i;:::-;7979:67;8039:6;8031;8025:4;7979:67;:::i;:::-;8073:1;8097:4;8084:17;;8129:2;8121:6;8118:14;8146:1;8141:618;;;;8803:1;8820:6;8817:77;;;8869:9;8864:3;8860:19;8854:26;8845:35;;8817:77;8920:67;8980:6;8973:5;8920:67;:::i;:::-;8914:4;8907:81;8776:222;8111:887;;8141:618;8193:4;8189:9;8181:6;8177:22;8227:37;8259:4;8227:37;:::i;:::-;8286:1;8300:208;8314:7;8311:1;8308:14;8300:208;;;8393:9;8388:3;8384:19;8378:26;8370:6;8363:42;8444:1;8436:6;8432:14;8422:24;;8491:2;8480:9;8476:18;8463:31;;8337:4;8334:1;8330:12;8325:17;;8300:208;;;8536:6;8527:7;8524:19;8521:179;;;8594:9;8589:3;8585:19;8579:26;8637:48;8679:4;8671:6;8667:17;8656:9;8637:48;:::i;:::-;8629:6;8622:64;8544:156;8521:179;8746:1;8742;8734:6;8730:14;8726:22;8720:4;8713:36;8148:611;;;8111:887;;7701:1303;;;7609:1395;;:::o;70:2010:0:-;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_name_13": {
"entryPoint": 2003,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"@_symbol_15": {
"entryPoint": 1863,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@allowance_219": {
"entryPoint": 2143,
"id": 219,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_203": {
"entryPoint": 735,
"id": 203,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_102": {
"entryPoint": 1348,
"id": 102,
"parameterSlots": 1,
"returnSlots": 1
},
"@decimals_82": {
"entryPoint": 1340,
"id": 82,
"parameterSlots": 0,
"returnSlots": 1
},
"@name_66": {
"entryPoint": 591,
"id": 66,
"parameterSlots": 0,
"returnSlots": 1
},
"@symbol_74": {
"entryPoint": 1417,
"id": 74,
"parameterSlots": 0,
"returnSlots": 1
},
"@totalSupply_90": {
"entryPoint": 998,
"id": 90,
"parameterSlots": 0,
"returnSlots": 1
},
"@transferFrom_172": {
"entryPoint": 1037,
"id": 172,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_137": {
"entryPoint": 1561,
"id": 137,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2517,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2568,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2873,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 2916,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 2741,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2588,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2661,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2355,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3111,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2701,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 2833,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2676,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2411,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3145,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2716,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": {
"entryPoint": 2848,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2273,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2283,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3271,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2478,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2650,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2447,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2537,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 2821,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2299,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 3023,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3175,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2978,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2443,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2339,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae": {
"entryPoint": 3071,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2495,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2546,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:7732:1",
"nodeType": "YulBlock",
"src": "0:7732: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": "0x22"
}
],
"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_0x22",
"nativeSrc": "5668:180:1",
"nodeType": "YulFunctionDefinition",
"src": "5668:180:1"
},
{
"body": {
"nativeSrc": "5905:269:1",
"nodeType": "YulBlock",
"src": "5905:269:1",
"statements": [
{
"nativeSrc": "5915:22:1",
"nodeType": "YulAssignment",
"src": "5915:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "5929:4:1",
"nodeType": "YulIdentifier",
"src": "5929:4:1"
},
{
"kind": "number",
"nativeSrc": "5935:1:1",
"nodeType": "YulLiteral",
"src": "5935:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "5925:3:1",
"nodeType": "YulIdentifier",
"src": "5925:3:1"
},
"nativeSrc": "5925:12:1",
"nodeType": "YulFunctionCall",
"src": "5925:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "5915:6:1",
"nodeType": "YulIdentifier",
"src": "5915:6:1"
}
]
},
{
"nativeSrc": "5946:38:1",
"nodeType": "YulVariableDeclaration",
"src": "5946:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "5976:4:1",
"nodeType": "YulIdentifier",
"src": "5976:4:1"
},
{
"kind": "number",
"nativeSrc": "5982:1:1",
"nodeType": "YulLiteral",
"src": "5982:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "5972:3:1",
"nodeType": "YulIdentifier",
"src": "5972:3:1"
},
"nativeSrc": "5972:12:1",
"nodeType": "YulFunctionCall",
"src": "5972:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "5950:18:1",
"nodeType": "YulTypedName",
"src": "5950:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6023:51:1",
"nodeType": "YulBlock",
"src": "6023:51:1",
"statements": [
{
"nativeSrc": "6037:27:1",
"nodeType": "YulAssignment",
"src": "6037:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "6051:6:1",
"nodeType": "YulIdentifier",
"src": "6051:6:1"
},
{
"kind": "number",
"nativeSrc": "6059:4:1",
"nodeType": "YulLiteral",
"src": "6059:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6047:3:1",
"nodeType": "YulIdentifier",
"src": "6047:3:1"
},
"nativeSrc": "6047:17:1",
"nodeType": "YulFunctionCall",
"src": "6047:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "6037:6:1",
"nodeType": "YulIdentifier",
"src": "6037:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6003:18:1",
"nodeType": "YulIdentifier",
"src": "6003:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5996:6:1",
"nodeType": "YulIdentifier",
"src": "5996:6:1"
},
"nativeSrc": "5996:26:1",
"nodeType": "YulFunctionCall",
"src": "5996:26:1"
},
"nativeSrc": "5993:81:1",
"nodeType": "YulIf",
"src": "5993:81:1"
},
{
"body": {
"nativeSrc": "6126:42:1",
"nodeType": "YulBlock",
"src": "6126:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "6140:16:1",
"nodeType": "YulIdentifier",
"src": "6140:16:1"
},
"nativeSrc": "6140:18:1",
"nodeType": "YulFunctionCall",
"src": "6140:18:1"
},
"nativeSrc": "6140:18:1",
"nodeType": "YulExpressionStatement",
"src": "6140:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6090:18:1",
"nodeType": "YulIdentifier",
"src": "6090:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "6113:6:1",
"nodeType": "YulIdentifier",
"src": "6113:6:1"
},
{
"kind": "number",
"nativeSrc": "6121:2:1",
"nodeType": "YulLiteral",
"src": "6121:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "6110:2:1",
"nodeType": "YulIdentifier",
"src": "6110:2:1"
},
"nativeSrc": "6110:14:1",
"nodeType": "YulFunctionCall",
"src": "6110:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "6087:2:1",
"nodeType": "YulIdentifier",
"src": "6087:2:1"
},
"nativeSrc": "6087:38:1",
"nodeType": "YulFunctionCall",
"src": "6087:38:1"
},
"nativeSrc": "6084:84:1",
"nodeType": "YulIf",
"src": "6084:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "5854:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "5889:4:1",
"nodeType": "YulTypedName",
"src": "5889:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "5898:6:1",
"nodeType": "YulTypedName",
"src": "5898:6:1",
"type": ""
}
],
"src": "5854:320:1"
},
{
"body": {
"nativeSrc": "6286:63:1",
"nodeType": "YulBlock",
"src": "6286:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "6308:6:1",
"nodeType": "YulIdentifier",
"src": "6308:6:1"
},
{
"kind": "number",
"nativeSrc": "6316:1:1",
"nodeType": "YulLiteral",
"src": "6316:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6304:3:1",
"nodeType": "YulIdentifier",
"src": "6304:3:1"
},
"nativeSrc": "6304:14:1",
"nodeType": "YulFunctionCall",
"src": "6304:14:1"
},
{
"hexValue": "696e737566696369656e742062616c616e6365",
"kind": "string",
"nativeSrc": "6320:21:1",
"nodeType": "YulLiteral",
"src": "6320:21:1",
"type": "",
"value": "insuficient balance"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6297:6:1",
"nodeType": "YulIdentifier",
"src": "6297:6:1"
},
"nativeSrc": "6297:45:1",
"nodeType": "YulFunctionCall",
"src": "6297:45:1"
},
"nativeSrc": "6297:45:1",
"nodeType": "YulExpressionStatement",
"src": "6297:45:1"
}
]
},
"name": "store_literal_in_memory_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae",
"nativeSrc": "6180:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "6278:6:1",
"nodeType": "YulTypedName",
"src": "6278:6:1",
"type": ""
}
],
"src": "6180:169:1"
},
{
"body": {
"nativeSrc": "6501:220:1",
"nodeType": "YulBlock",
"src": "6501:220:1",
"statements": [
{
"nativeSrc": "6511:74:1",
"nodeType": "YulAssignment",
"src": "6511:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6577:3:1",
"nodeType": "YulIdentifier",
"src": "6577:3:1"
},
{
"kind": "number",
"nativeSrc": "6582:2:1",
"nodeType": "YulLiteral",
"src": "6582:2:1",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "6518:58:1",
"nodeType": "YulIdentifier",
"src": "6518:58:1"
},
"nativeSrc": "6518:67:1",
"nodeType": "YulFunctionCall",
"src": "6518:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "6511:3:1",
"nodeType": "YulIdentifier",
"src": "6511:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6683:3:1",
"nodeType": "YulIdentifier",
"src": "6683:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae",
"nativeSrc": "6594:88:1",
"nodeType": "YulIdentifier",
"src": "6594:88:1"
},
"nativeSrc": "6594:93:1",
"nodeType": "YulFunctionCall",
"src": "6594:93:1"
},
"nativeSrc": "6594:93:1",
"nodeType": "YulExpressionStatement",
"src": "6594:93:1"
},
{
"nativeSrc": "6696:19:1",
"nodeType": "YulAssignment",
"src": "6696:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6707:3:1",
"nodeType": "YulIdentifier",
"src": "6707:3:1"
},
{
"kind": "number",
"nativeSrc": "6712:2:1",
"nodeType": "YulLiteral",
"src": "6712:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6703:3:1",
"nodeType": "YulIdentifier",
"src": "6703:3:1"
},
"nativeSrc": "6703:12:1",
"nodeType": "YulFunctionCall",
"src": "6703:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "6696:3:1",
"nodeType": "YulIdentifier",
"src": "6696:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae_to_t_string_memory_ptr_fromStack",
"nativeSrc": "6355:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "6489:3:1",
"nodeType": "YulTypedName",
"src": "6489:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "6497:3:1",
"nodeType": "YulTypedName",
"src": "6497:3:1",
"type": ""
}
],
"src": "6355:366:1"
},
{
"body": {
"nativeSrc": "6898:248:1",
"nodeType": "YulBlock",
"src": "6898:248:1",
"statements": [
{
"nativeSrc": "6908:26:1",
"nodeType": "YulAssignment",
"src": "6908:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6920:9:1",
"nodeType": "YulIdentifier",
"src": "6920:9:1"
},
{
"kind": "number",
"nativeSrc": "6931:2:1",
"nodeType": "YulLiteral",
"src": "6931:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6916:3:1",
"nodeType": "YulIdentifier",
"src": "6916:3:1"
},
"nativeSrc": "6916:18:1",
"nodeType": "YulFunctionCall",
"src": "6916:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6908:4:1",
"nodeType": "YulIdentifier",
"src": "6908:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6955:9:1",
"nodeType": "YulIdentifier",
"src": "6955:9:1"
},
{
"kind": "number",
"nativeSrc": "6966:1:1",
"nodeType": "YulLiteral",
"src": "6966:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6951:3:1",
"nodeType": "YulIdentifier",
"src": "6951:3:1"
},
"nativeSrc": "6951:17:1",
"nodeType": "YulFunctionCall",
"src": "6951:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "6974:4:1",
"nodeType": "YulIdentifier",
"src": "6974:4:1"
},
{
"name": "headStart",
"nativeSrc": "6980:9:1",
"nodeType": "YulIdentifier",
"src": "6980:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6970:3:1",
"nodeType": "YulIdentifier",
"src": "6970:3:1"
},
"nativeSrc": "6970:20:1",
"nodeType": "YulFunctionCall",
"src": "6970:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6944:6:1",
"nodeType": "YulIdentifier",
"src": "6944:6:1"
},
"nativeSrc": "6944:47:1",
"nodeType": "YulFunctionCall",
"src": "6944:47:1"
},
"nativeSrc": "6944:47:1",
"nodeType": "YulExpressionStatement",
"src": "6944:47:1"
},
{
"nativeSrc": "7000:139:1",
"nodeType": "YulAssignment",
"src": "7000:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "7134:4:1",
"nodeType": "YulIdentifier",
"src": "7134:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae_to_t_string_memory_ptr_fromStack",
"nativeSrc": "7008:124:1",
"nodeType": "YulIdentifier",
"src": "7008:124:1"
},
"nativeSrc": "7008:131:1",
"nodeType": "YulFunctionCall",
"src": "7008:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "7000:4:1",
"nodeType": "YulIdentifier",
"src": "7000:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "6727:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6878:9:1",
"nodeType": "YulTypedName",
"src": "6878:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6893:4:1",
"nodeType": "YulTypedName",
"src": "6893:4:1",
"type": ""
}
],
"src": "6727:419:1"
},
{
"body": {
"nativeSrc": "7180:152:1",
"nodeType": "YulBlock",
"src": "7180:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7197:1:1",
"nodeType": "YulLiteral",
"src": "7197:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7200:77:1",
"nodeType": "YulLiteral",
"src": "7200:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7190:6:1",
"nodeType": "YulIdentifier",
"src": "7190:6:1"
},
"nativeSrc": "7190:88:1",
"nodeType": "YulFunctionCall",
"src": "7190:88:1"
},
"nativeSrc": "7190:88:1",
"nodeType": "YulExpressionStatement",
"src": "7190:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7294:1:1",
"nodeType": "YulLiteral",
"src": "7294:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "7297:4:1",
"nodeType": "YulLiteral",
"src": "7297:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7287:6:1",
"nodeType": "YulIdentifier",
"src": "7287:6:1"
},
"nativeSrc": "7287:15:1",
"nodeType": "YulFunctionCall",
"src": "7287:15:1"
},
"nativeSrc": "7287:15:1",
"nodeType": "YulExpressionStatement",
"src": "7287:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7318:1:1",
"nodeType": "YulLiteral",
"src": "7318:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7321:4:1",
"nodeType": "YulLiteral",
"src": "7321:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7311:6:1",
"nodeType": "YulIdentifier",
"src": "7311:6:1"
},
"nativeSrc": "7311:15:1",
"nodeType": "YulFunctionCall",
"src": "7311:15:1"
},
"nativeSrc": "7311:15:1",
"nodeType": "YulExpressionStatement",
"src": "7311:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "7152:180:1",
"nodeType": "YulFunctionDefinition",
"src": "7152:180:1"
},
{
"body": {
"nativeSrc": "7383:149:1",
"nodeType": "YulBlock",
"src": "7383:149:1",
"statements": [
{
"nativeSrc": "7393:25:1",
"nodeType": "YulAssignment",
"src": "7393:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7416:1:1",
"nodeType": "YulIdentifier",
"src": "7416:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7398:17:1",
"nodeType": "YulIdentifier",
"src": "7398:17:1"
},
"nativeSrc": "7398:20:1",
"nodeType": "YulFunctionCall",
"src": "7398:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "7393:1:1",
"nodeType": "YulIdentifier",
"src": "7393:1:1"
}
]
},
{
"nativeSrc": "7427:25:1",
"nodeType": "YulAssignment",
"src": "7427:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "7450:1:1",
"nodeType": "YulIdentifier",
"src": "7450:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7432:17:1",
"nodeType": "YulIdentifier",
"src": "7432:17:1"
},
"nativeSrc": "7432:20:1",
"nodeType": "YulFunctionCall",
"src": "7432:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "7427:1:1",
"nodeType": "YulIdentifier",
"src": "7427:1:1"
}
]
},
{
"nativeSrc": "7461:17:1",
"nodeType": "YulAssignment",
"src": "7461:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7473:1:1",
"nodeType": "YulIdentifier",
"src": "7473:1:1"
},
{
"name": "y",
"nativeSrc": "7476:1:1",
"nodeType": "YulIdentifier",
"src": "7476:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7469:3:1",
"nodeType": "YulIdentifier",
"src": "7469:3:1"
},
"nativeSrc": "7469:9:1",
"nodeType": "YulFunctionCall",
"src": "7469:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "7461:4:1",
"nodeType": "YulIdentifier",
"src": "7461:4:1"
}
]
},
{
"body": {
"nativeSrc": "7503:22:1",
"nodeType": "YulBlock",
"src": "7503:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7505:16:1",
"nodeType": "YulIdentifier",
"src": "7505:16:1"
},
"nativeSrc": "7505:18:1",
"nodeType": "YulFunctionCall",
"src": "7505:18:1"
},
"nativeSrc": "7505:18:1",
"nodeType": "YulExpressionStatement",
"src": "7505:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "7494:4:1",
"nodeType": "YulIdentifier",
"src": "7494:4:1"
},
{
"name": "x",
"nativeSrc": "7500:1:1",
"nodeType": "YulIdentifier",
"src": "7500:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7491:2:1",
"nodeType": "YulIdentifier",
"src": "7491:2:1"
},
"nativeSrc": "7491:11:1",
"nodeType": "YulFunctionCall",
"src": "7491:11:1"
},
"nativeSrc": "7488:37:1",
"nodeType": "YulIf",
"src": "7488:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "7338:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "7369:1:1",
"nodeType": "YulTypedName",
"src": "7369:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "7372:1:1",
"nodeType": "YulTypedName",
"src": "7372:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "7378:4:1",
"nodeType": "YulTypedName",
"src": "7378:4:1",
"type": ""
}
],
"src": "7338:194:1"
},
{
"body": {
"nativeSrc": "7582:147:1",
"nodeType": "YulBlock",
"src": "7582:147:1",
"statements": [
{
"nativeSrc": "7592:25:1",
"nodeType": "YulAssignment",
"src": "7592:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7615:1:1",
"nodeType": "YulIdentifier",
"src": "7615:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7597:17:1",
"nodeType": "YulIdentifier",
"src": "7597:17:1"
},
"nativeSrc": "7597:20:1",
"nodeType": "YulFunctionCall",
"src": "7597:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "7592:1:1",
"nodeType": "YulIdentifier",
"src": "7592:1:1"
}
]
},
{
"nativeSrc": "7626:25:1",
"nodeType": "YulAssignment",
"src": "7626:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "7649:1:1",
"nodeType": "YulIdentifier",
"src": "7649:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7631:17:1",
"nodeType": "YulIdentifier",
"src": "7631:17:1"
},
"nativeSrc": "7631:20:1",
"nodeType": "YulFunctionCall",
"src": "7631:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "7626:1:1",
"nodeType": "YulIdentifier",
"src": "7626:1:1"
}
]
},
{
"nativeSrc": "7660:16:1",
"nodeType": "YulAssignment",
"src": "7660:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7671:1:1",
"nodeType": "YulIdentifier",
"src": "7671:1:1"
},
{
"name": "y",
"nativeSrc": "7674:1:1",
"nodeType": "YulIdentifier",
"src": "7674:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7667:3:1",
"nodeType": "YulIdentifier",
"src": "7667:3:1"
},
"nativeSrc": "7667:9:1",
"nodeType": "YulFunctionCall",
"src": "7667:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "7660:3:1",
"nodeType": "YulIdentifier",
"src": "7660:3:1"
}
]
},
{
"body": {
"nativeSrc": "7700:22:1",
"nodeType": "YulBlock",
"src": "7700:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7702:16:1",
"nodeType": "YulIdentifier",
"src": "7702:16:1"
},
"nativeSrc": "7702:18:1",
"nodeType": "YulFunctionCall",
"src": "7702:18:1"
},
"nativeSrc": "7702:18:1",
"nodeType": "YulExpressionStatement",
"src": "7702:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "7692:1:1",
"nodeType": "YulIdentifier",
"src": "7692:1:1"
},
{
"name": "sum",
"nativeSrc": "7695:3:1",
"nodeType": "YulIdentifier",
"src": "7695:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7689:2:1",
"nodeType": "YulIdentifier",
"src": "7689:2:1"
},
"nativeSrc": "7689:10:1",
"nodeType": "YulFunctionCall",
"src": "7689:10:1"
},
"nativeSrc": "7686:36:1",
"nodeType": "YulIf",
"src": "7686:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "7538:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "7569:1:1",
"nodeType": "YulTypedName",
"src": "7569:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "7572:1:1",
"nodeType": "YulTypedName",
"src": "7572:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "7578:3:1",
"nodeType": "YulTypedName",
"src": "7578:3:1",
"type": ""
}
],
"src": "7538: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_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 store_literal_in_memory_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae(memPtr) {\n\n mstore(add(memPtr, 0), \"insuficient balance\")\n\n }\n\n function abi_encode_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae__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_f1c8c2251ce3a23573c9dd74e37b7fed8da0ae15cbf49feb115a36cf1e9c2aae_to_t_string_memory_ptr_fromStack( tail)\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": {
"17": [
{
"length": 32,
"start": 1001
}
]
},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806370a082311161006f57806370a082311461016557806395d89b4114610195578063a9059cbb146101b3578063b09f1266146101e3578063d28d885214610201578063dd62ed3e1461021f576100a7565b806306fdde03146100ab578063095ea7b3146100c957806318160ddd146100f957806323b872dd14610117578063313ce56714610147575b5f80fd5b6100b361024f565b6040516100c0919061096b565b60405180910390f35b6100e360048036038101906100de9190610a1c565b6102df565b6040516100f09190610a74565b60405180910390f35b6101016103e6565b60405161010e9190610a9c565b60405180910390f35b610131600480360381019061012c9190610ab5565b61040d565b60405161013e9190610a74565b60405180910390f35b61014f61053c565b60405161015c9190610b20565b60405180910390f35b61017f600480360381019061017a9190610b39565b610544565b60405161018c9190610a9c565b60405180910390f35b61019d610589565b6040516101aa919061096b565b60405180910390f35b6101cd60048036038101906101c89190610a1c565b610619565b6040516101da9190610a74565b60405180910390f35b6101eb610747565b6040516101f8919061096b565b60405180910390f35b6102096107d3565b604051610216919061096b565b60405180910390f35b61023960048036038101906102349190610b64565b61085f565b6040516102469190610a9c565b60405180910390f35b60606002805461025e90610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461028a90610bcf565b80156102d55780601f106102ac576101008083540402835291602001916102d5565b820191905f5260205f20905b8154815290600101906020018083116102b857829003601f168201915b5050505050905090565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482101561035f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035690610c49565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490610c49565b60405180910390fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104d89190610c94565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461052a9190610cc7565b92505081905550600190509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606003805461059890610bcf565b80601f01602080910402602001604051908101604052809291908181526020018280546105c490610bcf565b801561060f5780601f106105e65761010080835404028352916020019161060f565b820191905f5260205f20905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b5f815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069090610c49565b60405180910390fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106e49190610c94565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107369190610cc7565b925050819055506001905092915050565b6003805461075490610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461078090610bcf565b80156107cb5780601f106107a2576101008083540402835291602001916107cb565b820191905f5260205f20905b8154815290600101906020018083116107ae57829003601f168201915b505050505081565b600280546107e090610bcf565b80601f016020809104026020016040519081016040528092919081815260200182805461080c90610bcf565b80156108575780601f1061082e57610100808354040283529160200191610857565b820191905f5260205f20905b81548152906001019060200180831161083a57829003601f168201915b505050505081565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156109185780820151818401526020810190506108fd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61093d826108e1565b61094781856108eb565b93506109578185602086016108fb565b61096081610923565b840191505092915050565b5f6020820190508181035f8301526109838184610933565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109b88261098f565b9050919050565b6109c8816109ae565b81146109d2575f80fd5b50565b5f813590506109e3816109bf565b92915050565b5f819050919050565b6109fb816109e9565b8114610a05575f80fd5b50565b5f81359050610a16816109f2565b92915050565b5f8060408385031215610a3257610a3161098b565b5b5f610a3f858286016109d5565b9250506020610a5085828601610a08565b9150509250929050565b5f8115159050919050565b610a6e81610a5a565b82525050565b5f602082019050610a875f830184610a65565b92915050565b610a96816109e9565b82525050565b5f602082019050610aaf5f830184610a8d565b92915050565b5f805f60608486031215610acc57610acb61098b565b5b5f610ad9868287016109d5565b9350506020610aea868287016109d5565b9250506040610afb86828701610a08565b9150509250925092565b5f60ff82169050919050565b610b1a81610b05565b82525050565b5f602082019050610b335f830184610b11565b92915050565b5f60208284031215610b4e57610b4d61098b565b5b5f610b5b848285016109d5565b91505092915050565b5f8060408385031215610b7a57610b7961098b565b5b5f610b87858286016109d5565b9250506020610b98858286016109d5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610be657607f821691505b602082108103610bf957610bf8610ba2565b5b50919050565b7f696e737566696369656e742062616c616e6365000000000000000000000000005f82015250565b5f610c336013836108eb565b9150610c3e82610bff565b602082019050919050565b5f6020820190508181035f830152610c6081610c27565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c9e826109e9565b9150610ca9836109e9565b9250828203905081811115610cc157610cc0610c67565b5b92915050565b5f610cd1826109e9565b9150610cdc836109e9565b9250828201905080821115610cf457610cf3610c67565b5b9291505056fea2646970667358221220657dd4ac3bb63eb5eb4d46c3cbf4b43376542fb9f414acbccdfafa68290b1c6264736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA7 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB09F1266 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0xD28D8852 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x21F JUMPI PUSH2 0xA7 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xF9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x147 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xB3 PUSH2 0x24F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDE SWAP2 SWAP1 PUSH2 0xA1C JUMP JUMPDEST PUSH2 0x2DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x101 PUSH2 0x3E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0xAB5 JUMP JUMPDEST PUSH2 0x40D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14F PUSH2 0x53C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17A SWAP2 SWAP1 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18C SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19D PUSH2 0x589 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AA SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C8 SWAP2 SWAP1 PUSH2 0xA1C JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EB PUSH2 0x747 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F8 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x209 PUSH2 0x7D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x239 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x234 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x25E SWAP1 PUSH2 0xBCF 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 0x28A SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D5 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 0x2B8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 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 LT ISZERO PUSH2 0x35F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x356 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x48D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x484 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x4D8 SWAP2 SWAP1 PUSH2 0xC94 JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x52A SWAP2 SWAP1 PUSH2 0xCC7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x598 SWAP1 PUSH2 0xBCF 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 0x5C4 SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x60F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60F 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 0x5F2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x699 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x690 SWAP1 PUSH2 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x6E4 SWAP2 SWAP1 PUSH2 0xC94 JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x736 SWAP2 SWAP1 PUSH2 0xCC7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x754 SWAP1 PUSH2 0xBCF 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 0x780 SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7CB 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 0x7AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x7E0 SWAP1 PUSH2 0xBCF 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 0x80C SWAP1 PUSH2 0xBCF JUMP JUMPDEST DUP1 ISZERO PUSH2 0x857 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x82E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x857 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 0x83A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 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 0x918 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x8FD 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 0x93D DUP3 PUSH2 0x8E1 JUMP JUMPDEST PUSH2 0x947 DUP2 DUP6 PUSH2 0x8EB JUMP JUMPDEST SWAP4 POP PUSH2 0x957 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x960 DUP2 PUSH2 0x923 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 0x983 DUP2 DUP5 PUSH2 0x933 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 0x9B8 DUP3 PUSH2 0x98F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9C8 DUP2 PUSH2 0x9AE JUMP JUMPDEST DUP2 EQ PUSH2 0x9D2 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9E3 DUP2 PUSH2 0x9BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FB DUP2 PUSH2 0x9E9 JUMP JUMPDEST DUP2 EQ PUSH2 0xA05 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA16 DUP2 PUSH2 0x9F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA32 JUMPI PUSH2 0xA31 PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3F DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA50 DUP6 DUP3 DUP7 ADD PUSH2 0xA08 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA6E DUP2 PUSH2 0xA5A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA87 PUSH0 DUP4 ADD DUP5 PUSH2 0xA65 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA96 DUP2 PUSH2 0x9E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xAAF PUSH0 DUP4 ADD DUP5 PUSH2 0xA8D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xACC JUMPI PUSH2 0xACB PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAD9 DUP7 DUP3 DUP8 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xAEA DUP7 DUP3 DUP8 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xAFB DUP7 DUP3 DUP8 ADD PUSH2 0xA08 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 0xB1A DUP2 PUSH2 0xB05 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB33 PUSH0 DUP4 ADD DUP5 PUSH2 0xB11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB4E JUMPI PUSH2 0xB4D PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB5B DUP5 DUP3 DUP6 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB7A JUMPI PUSH2 0xB79 PUSH2 0x98B JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xB87 DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xB98 DUP6 DUP3 DUP7 ADD PUSH2 0x9D5 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 0xBE6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xBF9 JUMPI PUSH2 0xBF8 PUSH2 0xBA2 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x696E737566696369656E742062616C616E636500000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xC33 PUSH1 0x13 DUP4 PUSH2 0x8EB JUMP JUMPDEST SWAP2 POP PUSH2 0xC3E DUP3 PUSH2 0xBFF 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 0xC60 DUP2 PUSH2 0xC27 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xC9E DUP3 PUSH2 0x9E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xCA9 DUP4 PUSH2 0x9E9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xCC1 JUMPI PUSH2 0xCC0 PUSH2 0xC67 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xCD1 DUP3 PUSH2 0x9E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xCDC DUP4 PUSH2 0x9E9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xCF4 JUMPI PUSH2 0xCF3 PUSH2 0xC67 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x7DD4AC3BB63E 0xB5 0xEB 0x4D CHAINID 0xC3 0xCB DELEGATECALL 0xB4 CALLER PUSH23 0x542FB9F414ACBCCDFAFA68290B1C6264736F6C63430008 ISZERO STOP CALLER ",
"sourceMap": "70:2010:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;696:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1694:232;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;960:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1429:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;874:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1054:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;783:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1173:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;244:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;219:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1932:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;696:81;733:13;765:5;758:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;696:81;:::o;1694:232::-;1761:12;1803:8;:20;1812:10;1803:20;;;;;;;;;;;;;;;;1793:6;:30;;1785:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1892:6;1857:10;:22;1868:10;1857:22;;;;;;;;;;;;;;;:32;1880:8;1857:32;;;;;;;;;;;;;;;:41;;;;1915:4;1908:11;;1694:232;;;;:::o;960:88::-;1004:7;1030:11;1023:18;;960:88;:::o;1429:259::-;1511:12;1562:6;1543:8;:15;1552:5;1543:15;;;;;;;;;;;;;;;;:25;;1535:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;1621:6;1602:8;:15;1611:5;1602:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;1654:6;1637:8;:13;1646:3;1637:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;1677:4;1670:11;;1429:259;;;;;:::o;874:80::-;915:5;345:2;932:15;;874:80;:::o;1054:113::-;1110:15;1144:8;:16;1153:6;1144:16;;;;;;;;;;;;;;;;1137:23;;1054:113;;;:::o;783:85::-;822:13;854:7;847:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;783:85;:::o;1173:250::-;1236:12;1292:6;1268:8;:20;1277:10;1268:20;;;;;;;;;;;;;;;;:30;;1260:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1356:6;1332:8;:20;1341:10;1332:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;1389:6;1372:8;:13;1381:3;1372:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;1412:4;1405:11;;1173:250;;;;:::o;244:21::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;219:19::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1932:145::-;2006:17;2042:10;:18;2053:6;2042:18;;;;;;;;;;;;;;;:28;2061:8;2042:28;;;;;;;;;;;;;;;;2035:35;;1932:145;;;;:::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:320;5898:6;5935:1;5929:4;5925:12;5915:22;;5982:1;5976:4;5972:12;6003:18;5993:81;;6059:4;6051:6;6047:17;6037:27;;5993:81;6121:2;6113:6;6110:14;6090:18;6087:38;6084:84;;6140:18;;:::i;:::-;6084:84;5905:269;5854:320;;;:::o;6180:169::-;6320:21;6316:1;6308:6;6304:14;6297:45;6180:169;:::o;6355:366::-;6497:3;6518:67;6582:2;6577:3;6518:67;:::i;:::-;6511:74;;6594:93;6683:3;6594:93;:::i;:::-;6712:2;6707:3;6703:12;6696:19;;6355:366;;;:::o;6727:419::-;6893:4;6931:2;6920:9;6916:18;6908:26;;6980:9;6974:4;6970:20;6966:1;6955:9;6951:17;6944:47;7008:131;7134:4;7008:131;:::i;:::-;7000:139;;6727:419;;;:::o;7152:180::-;7200:77;7197:1;7190:88;7297:4;7294:1;7287:15;7321:4;7318:1;7311:15;7338:194;7378:4;7398:20;7416:1;7398:20;:::i;:::-;7393:25;;7432:20;7450:1;7432:20;:::i;:::-;7427:25;;7476:1;7473;7469:9;7461:17;;7500:1;7494:4;7491:11;7488:37;;;7505:18;;:::i;:::-;7488:37;7338:194;;;;:::o;7538:191::-;7578:3;7597:20;7615:1;7597:20;:::i;:::-;7592:25;;7631:20;7649:1;7631:20;:::i;:::-;7626:25;;7674:1;7671;7667:9;7660:16;;7695:3;7692:1;7689:10;7686:36;;;7702:18;;:::i;:::-;7686:36;7538:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "675200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"_name()": "infinite",
"_symbol()": "infinite",
"allowance(address,address)": "infinite",
"approve(address,uint256)": "25343",
"balanceOf(address)": "2829",
"decimals()": "427",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "infinite",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"_name()": "d28d8852",
"_symbol()": "b09f1266",
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"decimals()": "313ce567",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "uint256",
"name": "max_supply_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"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": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "uint256",
"name": "max_supply_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"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": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/token.sol": "Token"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/token.sol": {
"keccak256": "0x80496df51fee76487a2be6ebc8d2032e0f9722c862ee4fc1c5f3785f82b66f5f",
"license": "GPL-3.0",
"urls": [
"bzz-raw://29b54b62ecd6bc877ff254dc9988266ae99caadc60254984a0fb78996937cde0",
"dweb:/ipfs/Qmdx5dgJoqRhbXwDUjkZzUNiCSC26jmmexB2hmEDz6bBZ5"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.2 <0.9.0;
contract Token {
mapping(address => uint256) private balances;
mapping(address => mapping(address => uint256)) private allowances;
string public _name;
string public _symbol;
address public _owner;
uint256 private immutable _max_supply;
uint8 constant DECIMALS = 18;
constructor(string memory name_, string memory symbol_, uint256 max_supply_) {
_max_supply = max_supply_;
_name = name_;
_symbol = symbol_;
_owner = msg.sender;
balances[msg.sender] = max_supply_;
}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return DECIMALS;
}
function totalSupply() public view returns (uint256) {
return _max_supply;
}
function balanceOf(address _addr) public view returns (uint256 balance) {
return balances[_addr];
}
function transfer(address _to, uint256 _value) public returns (bool success) {
require(balances[msg.sender] >= _value, "insuficient balance");
require(_to != address(0), "invalid address");
balances[msg.sender] -= _value;
balances[_to] += _value;
emit Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(balances[_from] >= _value, "insuficient balance");
require(_from != address(0), "invalid address");
require(_to != address(0), "invalid address");
balances[_from] -= _value;
balances[_to] += _value;
return true;
}
function approve(address _spender, uint256 _value) public returns (bool success) {
require(_value >= balances[msg.sender], "insuficient balance");
require(_spender != address(0), "invalid address");
allowances[msg.sender][_spender] = _value;
return true;
}
function allowance(address owner_, address spender_) public view returns (uint256 remaining) {
require(owner_ != address(0), "invalid address");
require(spender_ != address(0), "invalid address");
return allowances[owner_][spender_];
}
}
// This script can be used to deploy the "Storage" contract using ethers.js library.
// Please make sure to compile "./contracts/1_Storage.sol" file before running this script.
// And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S
import { deploy } from './ethers-lib'
(async () => {
try {
const result = await deploy('Storage', [])
console.log(`address: ${result.address}`)
} catch (e) {
console.log(e.message)
}
})()
// This script can be used to deploy the "Storage" contract using Web3 library.
// Please make sure to compile "./contracts/1_Storage.sol" file before running this script.
// And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S
import { deploy } from './web3-lib'
(async () => {
try {
const result = await deploy('Storage', [])
console.log(`address: ${result.address}`)
} catch (e) {
console.log(e.message)
}
})()
import { ethers } from 'ethers'
/**
* Deploy the given contract
* @param {string} contractName name of the contract to deploy
* @param {Array<any>} args list of constructor' parameters
* @param {Number} accountIndex account index from the exposed account
* @return {Contract} deployed contract
*/
export const deploy = async (contractName: string, args: Array<any>, accountIndex?: number): Promise<ethers.Contract> => {
console.log(`deploying ${contractName}`)
// Note that the script needs the ABI which is generated from the compilation artifact.
// Make sure contract is compiled and artifacts are generated
const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path
const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath))
// 'web3Provider' is a remix global variable object
const signer = (new ethers.providers.Web3Provider(web3Provider)).getSigner(accountIndex)
const factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer)
const contract = await factory.deploy(...args)
// The contract is NOT deployed yet; we must wait until it is mined
await contract.deployed()
return contract
}
import Web3 from 'web3'
import { Contract, ContractSendMethod, Options } from 'web3-eth-contract'
/**
* Deploy the given contract
* @param {string} contractName name of the contract to deploy
* @param {Array<any>} args list of constructor' parameters
* @param {string} from account used to send the transaction
* @param {number} gas gas limit
* @return {Options} deployed contract
*/
export const deploy = async (contractName: string, args: Array<any>, from?: string, gas?: number): Promise<Options> => {
const web3 = new Web3(web3Provider)
console.log(`deploying ${contractName}`)
// Note that the script needs the ABI which is generated from the compilation artifact.
// Make sure contract is compiled and artifacts are generated
const artifactsPath = `browser/contracts/artifacts/${contractName}.json`
const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath))
const accounts = await web3.eth.getAccounts()
const contract: Contract = new web3.eth.Contract(metadata.abi)
const contractSend: ContractSendMethod = contract.deploy({
data: metadata.data.bytecode.object,
arguments: args
})
const newContractInstance = await contractSend.send({
from: from || accounts[0],
gas: gas || 1500000
})
return newContractInstance.options
}
View raw

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

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {
"remix_tests.sol": {
"Assert": "<address>"
}
},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {
"remix_tests.sol": {
"Assert": [
{
"length": 20,
"start": 356
},
{
"length": 20,
"start": 812
},
{
"length": 20,
"start": 1081
},
{
"length": 20,
"start": 1350
},
{
"length": 20,
"start": 1628
},
{
"length": 20,
"start": 2070
}
]
}
},
"object": "608060405234801561000f575f80fd5b50612a108061001d5f395ff3fe608060405234801562000010575f80fd5b506004361062000050575f3560e01c8063586c0b4214620000545780637fea0d4b1462000060578063944c410b146200006c5780639c45706d1462000078575b5f80fd5b6200005e62000084565b005b6200006a62000254565b005b620000766200030d565b005b6200008262000638565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000101919062000965565b602060405180830381865afa1580156200011d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001439190620009c9565b905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd7960825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ef9190620009c9565b6040518363ffffffff1660e01b81526004016200020e92919062000a8e565b602060405180830381865af41580156200022a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000250919062000b08565b5050565b620f4240604051620002669062000914565b62000272919062000c2e565b604051809103905ff0801580156200028c573d5f803e3d5ffd5b505f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b73__$acbfb1c35000d78352310b16a054a6b106$__63e8c2cb165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200038f573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620003b9919062000de7565b6040518263ffffffff1660e01b8152600401620003d7919062000ef4565b602060405180830381865af4158015620003f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000419919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63e8c2cb165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200049c573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620004c6919062000de7565b6040518263ffffffff1660e01b8152600401620004e4919062000fb4565b602060405180830381865af415801562000500573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000526919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005d09190620009c9565b620f42406040518363ffffffff1660e01b8152600401620005f39291906200104e565b602060405180830381865af41580156200060f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000635919062000b08565b50565b5f6001905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401620006b1919062000965565b602060405180830381865afa158015620006cd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006f39190620009c9565b5f6040518363ffffffff1660e01b8152600401620007139291906200111d565b602060405180830381865af41580156200072f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000755919062000b08565b505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82600a6040518363ffffffff1660e01b8152600401620007b39291906200119e565b6020604051808303815f875af1158015620007d0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007f6919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016200086b919062000965565b602060405180830381865afa15801562000887573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008ad9190620009c9565b600a6040518363ffffffff1660e01b8152600401620008ce92919062001228565b602060405180830381865af4158015620008ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000910919062000b08565b5050565b611772806200126983390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200094d8262000922565b9050919050565b6200095f8162000941565b82525050565b5f6020820190506200097a5f83018462000954565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b620009a58162000991565b8114620009b0575f80fd5b50565b5f81519050620009c3816200099a565b92915050565b5f60208284031215620009e157620009e062000989565b5b5f620009f084828501620009b3565b91505092915050565b62000a048162000991565b82525050565b5f82825260208201905092915050565b7f62616c616e6365206f66206f776e65722073686f756c6420626520657175616c5f8201527f20746f20746f74616c20737570706c7900000000000000000000000000000000602082015250565b5f62000a7660308362000a0a565b915062000a838262000a1a565b604082019050919050565b5f60608201905062000aa35f830185620009f9565b62000ab26020830184620009f9565b818103604083015262000ac58162000a68565b90509392505050565b5f8115159050919050565b62000ae48162000ace565b811462000aef575f80fd5b50565b5f8151905062000b028162000ad9565b92915050565b5f6020828403121562000b205762000b1f62000989565b5b5f62000b2f8482850162000af2565b91505092915050565b5f82825260208201905092915050565b7f4249474f000000000000000000000000000000000000000000000000000000005f82015250565b5f62000b7e60048362000b38565b915062000b8b8262000b48565b602082019050919050565b7f42494700000000000000000000000000000000000000000000000000000000005f82015250565b5f62000bcc60038362000b38565b915062000bd98262000b96565b602082019050919050565b5f819050919050565b5f819050919050565b5f62000c1662000c1062000c0a8462000be4565b62000bed565b62000991565b9050919050565b62000c288162000bf6565b82525050565b5f6060820190508181035f83015262000c478162000b70565b9050818103602083015262000c5c8162000bbe565b905062000c6d604083018462000c1d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000cc38262000c7b565b810181811067ffffffffffffffff8211171562000ce55762000ce462000c8b565b5b80604052505050565b5f62000cf962000980565b905062000d07828262000cb8565b919050565b5f67ffffffffffffffff82111562000d295762000d2862000c8b565b5b62000d348262000c7b565b9050602081019050919050565b5f5b8381101562000d6057808201518184015260208101905062000d43565b5f8484015250505050565b5f62000d8162000d7b8462000d0c565b62000cee565b90508281526020810184848401111562000da05762000d9f62000c77565b5b62000dad84828562000d41565b509392505050565b5f82601f83011262000dcc5762000dcb62000c73565b5b815162000dde84826020860162000d6b565b91505092915050565b5f6020828403121562000dff5762000dfe62000989565b5b5f82015167ffffffffffffffff81111562000e1f5762000e1e6200098d565b5b62000e2d8482850162000db5565b91505092915050565b5f81519050919050565b5f62000e4c8262000e36565b62000e58818562000a0a565b935062000e6a81856020860162000d41565b62000e758162000c7b565b840191505092915050565b5f62000e8e60048362000a0a565b915062000e9b8262000b48565b602082019050919050565b7f6e616d652073686f756c64206265204249474f000000000000000000000000005f82015250565b5f62000edc60138362000a0a565b915062000ee98262000ea6565b602082019050919050565b5f6060820190508181035f83015262000f0e818462000e40565b9050818103602083015262000f238162000e80565b9050818103604083015262000f388162000ece565b905092915050565b5f62000f4e60038362000a0a565b915062000f5b8262000b96565b602082019050919050565b7f6e616d652073686f756c642062652042494700000000000000000000000000005f82015250565b5f62000f9c60128362000a0a565b915062000fa98262000f66565b602082019050919050565b5f6060820190508181035f83015262000fce818462000e40565b9050818103602083015262000fe38162000f40565b9050818103604083015262000ff88162000f8e565b905092915050565b7f746f74616c20737570706c792073686f756c64206265203130303030303000005f82015250565b5f62001036601e8362000a0a565b9150620010438262001000565b602082019050919050565b5f606082019050620010635f830185620009f9565b620010726020830184620009f9565b8181036040830152620010858162001028565b90509392505050565b5f819050919050565b5f620010b7620010b1620010ab846200108e565b62000bed565b62000991565b9050919050565b620010c98162001097565b82525050565b7f696e76616c696420696e697469616c2062616c616e63650000000000000000005f82015250565b5f6200110560178362000a0a565b91506200111282620010cf565b602082019050919050565b5f606082019050620011325f830185620009f9565b620011416020830184620010be565b81810360408301526200115481620010f7565b90509392505050565b5f819050919050565b5f62001186620011806200117a846200115d565b62000bed565b62000991565b9050919050565b620011988162001166565b82525050565b5f604082019050620011b35f83018562000954565b620011c260208301846200118d565b9392505050565b620011d48162001166565b82525050565b7f696e76616c69642066696e616c2062616c616e636500000000000000000000005f82015250565b5f6200121060158362000a0a565b91506200121d82620011da565b602082019050919050565b5f6060820190506200123d5f830185620009f9565b6200124c6020830184620011c9565b81810360408301526200125f8162001202565b9050939250505056fe60a060405234801562000010575f80fd5b5060405162001772380380620017728339818101604052810190620000369190620002a9565b806080818152505082600290816200004f91906200056e565b5081600390816200006191906200056e565b503360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505062000652565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200014d8262000105565b810181811067ffffffffffffffff821117156200016f576200016e62000115565b5b80604052505050565b5f62000183620000ec565b905062000191828262000142565b919050565b5f67ffffffffffffffff821115620001b357620001b262000115565b5b620001be8262000105565b9050602081019050919050565b5f5b83811015620001ea578082015181840152602081019050620001cd565b5f8484015250505050565b5f6200020b620002058462000196565b62000178565b9050828152602081018484840111156200022a576200022962000101565b5b62000237848285620001cb565b509392505050565b5f82601f830112620002565762000255620000fd565b5b815162000268848260208601620001f5565b91505092915050565b5f819050919050565b620002858162000271565b811462000290575f80fd5b50565b5f81519050620002a3816200027a565b92915050565b5f805f60608486031215620002c357620002c2620000f5565b5b5f84015167ffffffffffffffff811115620002e357620002e2620000f9565b5b620002f1868287016200023f565b935050602084015167ffffffffffffffff811115620003155762000314620000f9565b5b62000323868287016200023f565b9250506040620003368682870162000293565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200038f57607f821691505b602082108103620003a557620003a46200034a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003cc565b620004158683620003cc565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000456620004506200044a8462000271565b6200042d565b62000271565b9050919050565b5f819050919050565b620004718362000436565b6200048962000480826200045d565b848454620003d8565b825550505050565b5f90565b6200049f62000491565b620004ac81848462000466565b505050565b5b81811015620004d357620004c75f8262000495565b600181019050620004b2565b5050565b601f8211156200052257620004ec81620003ab565b620004f784620003bd565b8101602085101562000507578190505b6200051f6200051685620003bd565b830182620004b1565b50505b505050565b5f82821c905092915050565b5f620005445f198460080262000527565b1980831691505092915050565b5f6200055e838362000533565b9150826002028217905092915050565b620005798262000340565b67ffffffffffffffff81111562000595576200059462000115565b5b620005a1825462000377565b620005ae828285620004d7565b5f60209050601f831160018114620005e4575f8415620005cf578287015190505b620005db858262000551565b8655506200064a565b601f198416620005f486620003ab565b5f5b828110156200061d57848901518255600182019150602085019450602081019050620005f6565b868310156200063d578489015162000639601f89168262000533565b8355505b6001600288020188555050505b505050505050565b6080516111076200066b5f395f61048001526111075ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c806395d89b411161006f57806395d89b41146101a0578063a9059cbb146101be578063b09f1266146101ee578063b2bdfa7b1461020c578063d28d88521461022a578063dd62ed3e14610248576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce5671461015257806370a0823114610170575b5f80fd5b6100be610278565b6040516100cb9190610cb2565b60405180910390f35b6100ee60048036038101906100e99190610d63565b610308565b6040516100fb9190610dbb565b60405180910390f35b61010c61047d565b6040516101199190610de3565b60405180910390f35b61013c60048036038101906101379190610dfc565b6104a4565b6040516101499190610dbb565b60405180910390f35b61015a6106af565b6040516101679190610e67565b60405180910390f35b61018a60048036038101906101859190610e80565b6106b7565b6040516101979190610de3565b60405180910390f35b6101a86106fc565b6040516101b59190610cb2565b60405180910390f35b6101d860048036038101906101d39190610d63565b61078c565b6040516101e59190610dbb565b60405180910390f35b6101f661098d565b6040516102039190610cb2565b60405180910390f35b610214610a19565b6040516102219190610eba565b60405180910390f35b610232610a3e565b60405161023f9190610cb2565b60405180910390f35b610262600480360381019061025d9190610ed3565b610aca565b60405161026f9190610de3565b60405180910390f35b60606002805461028790610f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546102b390610f3e565b80156102fe5780601f106102d5576101008083540402835291602001916102fe565b820191905f5260205f20905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821015610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037f90610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036103f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ed90611020565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051b90610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058990611020565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f790611020565b60405180910390fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461064b919061106b565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461069d919061109e565b92505081905550600190509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606003805461070b90610f3e565b80601f016020809104026020016040519081016040528092919081815260200182805461073790610f3e565b80156107825780601f1061075957610100808354040283529160200191610782565b820191905f5260205f20905b81548152906001019060200180831161076557829003601f168201915b5050505050905090565b5f815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087190611020565b60405180910390fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108c5919061106b565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610917919061109e565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161097b9190610de3565b60405180910390a36001905092915050565b6003805461099a90610f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546109c690610f3e565b8015610a115780601f106109e857610100808354040283529160200191610a11565b820191905f5260205f20905b8154815290600101906020018083116109f457829003601f168201915b505050505081565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054610a4b90610f3e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7790610f3e565b8015610ac25780601f10610a9957610100808354040283529160200191610ac2565b820191905f5260205f20905b815481529060010190602001808311610aa557829003601f168201915b505050505081565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3090611020565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e90611020565b60405180910390fd5b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610c5f578082015181840152602081019050610c44565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610c8482610c28565b610c8e8185610c32565b9350610c9e818560208601610c42565b610ca781610c6a565b840191505092915050565b5f6020820190508181035f830152610cca8184610c7a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cff82610cd6565b9050919050565b610d0f81610cf5565b8114610d19575f80fd5b50565b5f81359050610d2a81610d06565b92915050565b5f819050919050565b610d4281610d30565b8114610d4c575f80fd5b50565b5f81359050610d5d81610d39565b92915050565b5f8060408385031215610d7957610d78610cd2565b5b5f610d8685828601610d1c565b9250506020610d9785828601610d4f565b9150509250929050565b5f8115159050919050565b610db581610da1565b82525050565b5f602082019050610dce5f830184610dac565b92915050565b610ddd81610d30565b82525050565b5f602082019050610df65f830184610dd4565b92915050565b5f805f60608486031215610e1357610e12610cd2565b5b5f610e2086828701610d1c565b9350506020610e3186828701610d1c565b9250506040610e4286828701610d4f565b9150509250925092565b5f60ff82169050919050565b610e6181610e4c565b82525050565b5f602082019050610e7a5f830184610e58565b92915050565b5f60208284031215610e9557610e94610cd2565b5b5f610ea284828501610d1c565b91505092915050565b610eb481610cf5565b82525050565b5f602082019050610ecd5f830184610eab565b92915050565b5f8060408385031215610ee957610ee8610cd2565b5b5f610ef685828601610d1c565b9250506020610f0785828601610d1c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f5557607f821691505b602082108103610f6857610f67610f11565b5b50919050565b7f696e737566696369656e742062616c616e6365000000000000000000000000005f82015250565b5f610fa2601383610c32565b9150610fad82610f6e565b602082019050919050565b5f6020820190508181035f830152610fcf81610f96565b9050919050565b7f696e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61100a600f83610c32565b915061101582610fd6565b602082019050919050565b5f6020820190508181035f83015261103781610ffe565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61107582610d30565b915061108083610d30565b92508282039050818111156110985761109761103e565b5b92915050565b5f6110a882610d30565b91506110b383610d30565b92508282019050808211156110cb576110ca61103e565b5b9291505056fea2646970667358221220fbe0aaa34bf61ca072399c699818a8b1bb5ae768cc6ca087365a5a1833fe77ac64736f6c63430008150033a2646970667358221220f781ebd9b89f193666bb15b3cb0ac8456346df45e3b106f3645168791436b67464736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A10 DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x50 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x586C0B42 EQ PUSH3 0x54 JUMPI DUP1 PUSH4 0x7FEA0D4B EQ PUSH3 0x60 JUMPI DUP1 PUSH4 0x944C410B EQ PUSH3 0x6C JUMPI DUP1 PUSH4 0x9C45706D EQ PUSH3 0x78 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH3 0x5E PUSH3 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH3 0x6A PUSH3 0x254 JUMP JUMPDEST STOP JUMPDEST PUSH3 0x76 PUSH3 0x30D JUMP JUMPDEST STOP JUMPDEST PUSH3 0x82 PUSH3 0x638 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x101 SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x11D JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x143 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 DUP3 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x1C9 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x1EF SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x20E SWAP3 SWAP2 SWAP1 PUSH3 0xA8E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x22A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x250 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0xF4240 PUSH1 0x40 MLOAD PUSH3 0x266 SWAP1 PUSH3 0x914 JUMP JUMPDEST PUSH3 0x272 SWAP2 SWAP1 PUSH3 0xC2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x28C JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP ADDRESS PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xE8C2CB16 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6FDDE03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x38F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x3B9 SWAP2 SWAP1 PUSH3 0xDE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x3D7 SWAP2 SWAP1 PUSH3 0xEF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x3F3 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x419 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xE8C2CB16 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x95D89B41 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x49C JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x4C6 SWAP2 SWAP1 PUSH3 0xDE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x4E4 SWAP2 SWAP1 PUSH3 0xFB4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x500 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x526 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x5AA JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x5D0 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH3 0xF4240 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x5F3 SWAP3 SWAP2 SWAP1 PUSH3 0x104E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x60F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x635 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x6B1 SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x6CD JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x6F3 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x713 SWAP3 SWAP2 SWAP1 PUSH3 0x111D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x72F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x755 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP3 PUSH1 0xA PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x7B3 SWAP3 SWAP2 SWAP1 PUSH3 0x119E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH3 0x7D0 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x7F6 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x86B SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x887 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x8AD SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH1 0xA PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x8CE SWAP3 SWAP2 SWAP1 PUSH3 0x1228 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x8EA JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x910 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1772 DUP1 PUSH3 0x1269 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x94D DUP3 PUSH3 0x922 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x95F DUP2 PUSH3 0x941 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x97A PUSH0 DUP4 ADD DUP5 PUSH3 0x954 JUMP JUMPDEST SWAP3 SWAP2 POP POP 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 PUSH3 0x9A5 DUP2 PUSH3 0x991 JUMP JUMPDEST DUP2 EQ PUSH3 0x9B0 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0x9C3 DUP2 PUSH3 0x99A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x9E1 JUMPI PUSH3 0x9E0 PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 PUSH3 0x9F0 DUP5 DUP3 DUP6 ADD PUSH3 0x9B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xA04 DUP2 PUSH3 0x991 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x62616C616E6365206F66206F776E65722073686F756C6420626520657175616C PUSH0 DUP3 ADD MSTORE PUSH32 0x20746F20746F74616C20737570706C7900000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xA76 PUSH1 0x30 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xA83 DUP3 PUSH3 0xA1A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xAA3 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0xAB2 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x9F9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xAC5 DUP2 PUSH3 0xA68 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xAE4 DUP2 PUSH3 0xACE JUMP JUMPDEST DUP2 EQ PUSH3 0xAEF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0xB02 DUP2 PUSH3 0xAD9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xB20 JUMPI PUSH3 0xB1F PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 PUSH3 0xB2F DUP5 DUP3 DUP6 ADD PUSH3 0xAF2 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 0x4249474F00000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xB7E PUSH1 0x4 DUP4 PUSH3 0xB38 JUMP JUMPDEST SWAP2 POP PUSH3 0xB8B DUP3 PUSH3 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4249470000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xBCC PUSH1 0x3 DUP4 PUSH3 0xB38 JUMP JUMPDEST SWAP2 POP PUSH3 0xBD9 DUP3 PUSH3 0xB96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0xC16 PUSH3 0xC10 PUSH3 0xC0A DUP5 PUSH3 0xBE4 JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xC28 DUP2 PUSH3 0xBF6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xC47 DUP2 PUSH3 0xB70 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xC5C DUP2 PUSH3 0xBBE JUMP JUMPDEST SWAP1 POP PUSH3 0xC6D PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xC1D JUMP JUMPDEST 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 PUSH3 0xCC3 DUP3 PUSH3 0xC7B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0xCE5 JUMPI PUSH3 0xCE4 PUSH3 0xC8B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0xCF9 PUSH3 0x980 JUMP JUMPDEST SWAP1 POP PUSH3 0xD07 DUP3 DUP3 PUSH3 0xCB8 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0xD29 JUMPI PUSH3 0xD28 PUSH3 0xC8B JUMP JUMPDEST JUMPDEST PUSH3 0xD34 DUP3 PUSH3 0xC7B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xD60 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xD43 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0xD81 PUSH3 0xD7B DUP5 PUSH3 0xD0C JUMP JUMPDEST PUSH3 0xCEE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0xDA0 JUMPI PUSH3 0xD9F PUSH3 0xC77 JUMP JUMPDEST JUMPDEST PUSH3 0xDAD DUP5 DUP3 DUP6 PUSH3 0xD41 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0xDCC JUMPI PUSH3 0xDCB PUSH3 0xC73 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0xDDE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0xD6B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xDFF JUMPI PUSH3 0xDFE PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0xE1F JUMPI PUSH3 0xE1E PUSH3 0x98D JUMP JUMPDEST JUMPDEST PUSH3 0xE2D DUP5 DUP3 DUP6 ADD PUSH3 0xDB5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0xE4C DUP3 PUSH3 0xE36 JUMP JUMPDEST PUSH3 0xE58 DUP2 DUP6 PUSH3 0xA0A JUMP JUMPDEST SWAP4 POP PUSH3 0xE6A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xD41 JUMP JUMPDEST PUSH3 0xE75 DUP2 PUSH3 0xC7B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0xE8E PUSH1 0x4 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xE9B DUP3 PUSH3 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E616D652073686F756C64206265204249474F00000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xEDC PUSH1 0x13 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xEE9 DUP3 PUSH3 0xEA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xF0E DUP2 DUP5 PUSH3 0xE40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xF23 DUP2 PUSH3 0xE80 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xF38 DUP2 PUSH3 0xECE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0xF4E PUSH1 0x3 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xF5B DUP3 PUSH3 0xB96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E616D652073686F756C64206265204249470000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xF9C PUSH1 0x12 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xFA9 DUP3 PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xFCE DUP2 DUP5 PUSH3 0xE40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xFE3 DUP2 PUSH3 0xF40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xFF8 DUP2 PUSH3 0xF8E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x746F74616C20737570706C792073686F756C6420626520313030303030300000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1036 PUSH1 0x1E DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x1043 DUP3 PUSH3 0x1000 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x1063 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x1072 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x9F9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x1085 DUP2 PUSH3 0x1028 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x10B7 PUSH3 0x10B1 PUSH3 0x10AB DUP5 PUSH3 0x108E JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x10C9 DUP2 PUSH3 0x1097 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x696E76616C696420696E697469616C2062616C616E6365000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1105 PUSH1 0x17 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x1112 DUP3 PUSH3 0x10CF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x1132 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x1141 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x10BE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x1154 DUP2 PUSH3 0x10F7 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x1186 PUSH3 0x1180 PUSH3 0x117A DUP5 PUSH3 0x115D JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x1198 DUP2 PUSH3 0x1166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH3 0x11B3 PUSH0 DUP4 ADD DUP6 PUSH3 0x954 JUMP JUMPDEST PUSH3 0x11C2 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x118D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH3 0x11D4 DUP2 PUSH3 0x1166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642066696E616C2062616C616E63650000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1210 PUSH1 0x15 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x121D DUP3 PUSH3 0x11DA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x123D PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x124C PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x11C9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x125F DUP2 PUSH3 0x1202 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1772 CODESIZE SUB DUP1 PUSH3 0x1772 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x36 SWAP2 SWAP1 PUSH3 0x2A9 JUMP JUMPDEST DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP3 PUSH1 0x2 SWAP1 DUP2 PUSH3 0x4F SWAP2 SWAP1 PUSH3 0x56E JUMP JUMPDEST POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0x56E JUMP JUMPDEST POP CALLER PUSH1 0x4 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 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 POP POP POP PUSH3 0x652 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT 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 PUSH3 0x14D DUP3 PUSH3 0x105 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x16F JUMPI PUSH3 0x16E PUSH3 0x115 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x183 PUSH3 0xEC JUMP JUMPDEST SWAP1 POP PUSH3 0x191 DUP3 DUP3 PUSH3 0x142 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1B3 JUMPI PUSH3 0x1B2 PUSH3 0x115 JUMP JUMPDEST JUMPDEST PUSH3 0x1BE DUP3 PUSH3 0x105 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x1EA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x1CD JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x20B PUSH3 0x205 DUP5 PUSH3 0x196 JUMP JUMPDEST PUSH3 0x178 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x22A JUMPI PUSH3 0x229 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x237 DUP5 DUP3 DUP6 PUSH3 0x1CB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x256 JUMPI PUSH3 0x255 PUSH3 0xFD JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x268 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x285 DUP2 PUSH3 0x271 JUMP JUMPDEST DUP2 EQ PUSH3 0x290 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0x2A3 DUP2 PUSH3 0x27A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x2C3 JUMPI PUSH3 0x2C2 PUSH3 0xF5 JUMP JUMPDEST JUMPDEST PUSH0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x2E3 JUMPI PUSH3 0x2E2 PUSH3 0xF9 JUMP JUMPDEST JUMPDEST PUSH3 0x2F1 DUP7 DUP3 DUP8 ADD PUSH3 0x23F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x315 JUMPI PUSH3 0x314 PUSH3 0xF9 JUMP JUMPDEST JUMPDEST PUSH3 0x323 DUP7 DUP3 DUP8 ADD PUSH3 0x23F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x336 DUP7 DUP3 DUP8 ADD PUSH3 0x293 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 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 PUSH3 0x38F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x3A5 JUMPI PUSH3 0x3A4 PUSH3 0x34A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH3 0x409 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x3CC JUMP JUMPDEST PUSH3 0x415 DUP7 DUP4 PUSH3 0x3CC 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 PUSH3 0x456 PUSH3 0x450 PUSH3 0x44A DUP5 PUSH3 0x271 JUMP JUMPDEST PUSH3 0x42D JUMP JUMPDEST PUSH3 0x271 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x471 DUP4 PUSH3 0x436 JUMP JUMPDEST PUSH3 0x489 PUSH3 0x480 DUP3 PUSH3 0x45D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x3D8 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x49F PUSH3 0x491 JUMP JUMPDEST PUSH3 0x4AC DUP2 DUP5 DUP5 PUSH3 0x466 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x4D3 JUMPI PUSH3 0x4C7 PUSH0 DUP3 PUSH3 0x495 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x4B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x522 JUMPI PUSH3 0x4EC DUP2 PUSH3 0x3AB JUMP JUMPDEST PUSH3 0x4F7 DUP5 PUSH3 0x3BD JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x507 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x51F PUSH3 0x516 DUP6 PUSH3 0x3BD JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x4B1 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x544 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x527 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x55E DUP4 DUP4 PUSH3 0x533 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x579 DUP3 PUSH3 0x340 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x595 JUMPI PUSH3 0x594 PUSH3 0x115 JUMP JUMPDEST JUMPDEST PUSH3 0x5A1 DUP3 SLOAD PUSH3 0x377 JUMP JUMPDEST PUSH3 0x5AE DUP3 DUP3 DUP6 PUSH3 0x4D7 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x5E4 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x5CF JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x5DB DUP6 DUP3 PUSH3 0x551 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x64A JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x5F4 DUP7 PUSH3 0x3AB JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x61D JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x5F6 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x63D JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x639 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x533 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 PUSH1 0x80 MLOAD PUSH2 0x1107 PUSH3 0x66B PUSH0 CODECOPY PUSH0 PUSH2 0x480 ADD MSTORE PUSH2 0x1107 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB2 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x95D89B41 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1BE JUMPI DUP1 PUSH4 0xB09F1266 EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0xB2BDFA7B EQ PUSH2 0x20C JUMPI DUP1 PUSH4 0xD28D8852 EQ PUSH2 0x22A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x248 JUMPI PUSH2 0xB2 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x170 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xBE PUSH2 0x278 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP2 SWAP1 PUSH2 0xCB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x308 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0xDBB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x47D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xDE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x137 SWAP2 SWAP1 PUSH2 0xDFC JUMP JUMPDEST PUSH2 0x4A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0xDBB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x15A PUSH2 0x6AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xE67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x185 SWAP2 SWAP1 PUSH2 0xE80 JUMP JUMPDEST PUSH2 0x6B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xDE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x6FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B5 SWAP2 SWAP1 PUSH2 0xCB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D3 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x78C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E5 SWAP2 SWAP1 PUSH2 0xDBB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F6 PUSH2 0x98D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x203 SWAP2 SWAP1 PUSH2 0xCB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x214 PUSH2 0xA19 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x221 SWAP2 SWAP1 PUSH2 0xEBA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x232 PUSH2 0xA3E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23F SWAP2 SWAP1 PUSH2 0xCB2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x262 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xED3 JUMP JUMPDEST PUSH2 0xACA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26F SWAP2 SWAP1 PUSH2 0xDE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x287 SWAP1 PUSH2 0xF3E 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 0x2B3 SWAP1 PUSH2 0xF3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2FE 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 0x2E1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 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 LT ISZERO PUSH2 0x388 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37F SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x3F6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3ED SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH32 0x0 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x524 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x51B SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x592 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x589 SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x600 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F7 SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x64B SWAP2 SWAP1 PUSH2 0x106B JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x69D SWAP2 SWAP1 PUSH2 0x109E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x70B SWAP1 PUSH2 0xF3E 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 0x737 SWAP1 PUSH2 0xF3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x782 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x759 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x782 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 0x765 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x80C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x803 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x87A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x871 SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x8C5 SWAP2 SWAP1 PUSH2 0x106B JUMP JUMPDEST SWAP3 POP POP 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 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x917 SWAP2 SWAP1 PUSH2 0x109E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x97B SWAP2 SWAP1 PUSH2 0xDE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x99A SWAP1 PUSH2 0xF3E 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 0x9C6 SWAP1 PUSH2 0xF3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA11 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9E8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA11 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 0x9F4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0xA4B SWAP1 PUSH2 0xF3E 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 0xA77 SWAP1 PUSH2 0xF3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAC2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA99 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xAC2 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 0xAA5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB39 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB30 SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xBA7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB9E SWAP1 PUSH2 0x1020 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 0xC5F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC44 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 0xC84 DUP3 PUSH2 0xC28 JUMP JUMPDEST PUSH2 0xC8E DUP2 DUP6 PUSH2 0xC32 JUMP JUMPDEST SWAP4 POP PUSH2 0xC9E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC42 JUMP JUMPDEST PUSH2 0xCA7 DUP2 PUSH2 0xC6A 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 0xCCA DUP2 DUP5 PUSH2 0xC7A 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 0xCFF DUP3 PUSH2 0xCD6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD0F DUP2 PUSH2 0xCF5 JUMP JUMPDEST DUP2 EQ PUSH2 0xD19 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD2A DUP2 PUSH2 0xD06 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD42 DUP2 PUSH2 0xD30 JUMP JUMPDEST DUP2 EQ PUSH2 0xD4C JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD5D DUP2 PUSH2 0xD39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD79 JUMPI PUSH2 0xD78 PUSH2 0xCD2 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xD86 DUP6 DUP3 DUP7 ADD PUSH2 0xD1C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xD97 DUP6 DUP3 DUP7 ADD PUSH2 0xD4F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDB5 DUP2 PUSH2 0xDA1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDCE PUSH0 DUP4 ADD DUP5 PUSH2 0xDAC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDDD DUP2 PUSH2 0xD30 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF6 PUSH0 DUP4 ADD DUP5 PUSH2 0xDD4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE13 JUMPI PUSH2 0xE12 PUSH2 0xCD2 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE20 DUP7 DUP3 DUP8 ADD PUSH2 0xD1C JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE31 DUP7 DUP3 DUP8 ADD PUSH2 0xD1C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xE42 DUP7 DUP3 DUP8 ADD PUSH2 0xD4F 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 0xE61 DUP2 PUSH2 0xE4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE7A PUSH0 DUP4 ADD DUP5 PUSH2 0xE58 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE95 JUMPI PUSH2 0xE94 PUSH2 0xCD2 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEA2 DUP5 DUP3 DUP6 ADD PUSH2 0xD1C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xEB4 DUP2 PUSH2 0xCF5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xECD PUSH0 DUP4 ADD DUP5 PUSH2 0xEAB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEE9 JUMPI PUSH2 0xEE8 PUSH2 0xCD2 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEF6 DUP6 DUP3 DUP7 ADD PUSH2 0xD1C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xF07 DUP6 DUP3 DUP7 ADD PUSH2 0xD1C 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 0xF55 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xF68 JUMPI PUSH2 0xF67 PUSH2 0xF11 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x696E737566696369656E742062616C616E636500000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xFA2 PUSH1 0x13 DUP4 PUSH2 0xC32 JUMP JUMPDEST SWAP2 POP PUSH2 0xFAD DUP3 PUSH2 0xF6E 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 0xFCF DUP2 PUSH2 0xF96 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x696E76616C696420616464726573730000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x100A PUSH1 0xF DUP4 PUSH2 0xC32 JUMP JUMPDEST SWAP2 POP PUSH2 0x1015 DUP3 PUSH2 0xFD6 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 0x1037 DUP2 PUSH2 0xFFE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1075 DUP3 PUSH2 0xD30 JUMP JUMPDEST SWAP2 POP PUSH2 0x1080 DUP4 PUSH2 0xD30 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1098 JUMPI PUSH2 0x1097 PUSH2 0x103E JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x10A8 DUP3 PUSH2 0xD30 JUMP JUMPDEST SWAP2 POP PUSH2 0x10B3 DUP4 PUSH2 0xD30 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x10CB JUMPI PUSH2 0x10CA PUSH2 0x103E JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0xE0 0xAA LOG3 0x4B 0xF6 SHR LOG0 PUSH19 0x399C699818A8B1BB5AE768CC6CA087365A5A18 CALLER INVALID PUSH24 0xAC64736F6C63430008150033A2646970667358221220F781 0xEB 0xD9 0xB8 SWAP16 NOT CALLDATASIZE PUSH7 0xBB15B3CB0AC845 PUSH4 0x46DF45E3 0xB1 MOD RETURN PUSH5 0x5168791436 0xB6 PUSH21 0x64736F6C6343000815003300000000000000000000 ",
"sourceMap": "210:1024:3:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@beforeAll_9168": {
"entryPoint": 596,
"id": 9168,
"parameterSlots": 0,
"returnSlots": 0
},
"@test_balanceOf_9226": {
"entryPoint": 132,
"id": 9226,
"parameterSlots": 0,
"returnSlots": 0
},
"@test_ctor_9205": {
"entryPoint": 781,
"id": 9205,
"parameterSlots": 0,
"returnSlots": 0
},
"@test_transfer_9266": {
"entryPoint": 1592,
"id": 9266,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 3435,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 2802,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 3509,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 2483,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 2824,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr_fromMemory": {
"entryPoint": 3559,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 2505,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2388,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_rational_0_by_1_to_t_uint256_fromStack_library": {
"entryPoint": 4286,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_rational_1000000_by_1_to_t_uint256_fromStack": {
"entryPoint": 3101,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_rational_10_by_1_to_t_uint256_fromStack": {
"entryPoint": 4493,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_rational_10_by_1_to_t_uint256_fromStack_library": {
"entryPoint": 4553,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 3648,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3006,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 3904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 4610,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 3982,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 3790,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2928,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 3712,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 2664,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 4136,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04_to_t_string_memory_ptr_fromStack_library": {
"entryPoint": 4343,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack_library": {
"entryPoint": 2553,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2405,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_rational_10_by_1__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 4510,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 4020,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 3828,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_rational_1000000_by_1__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 3118,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_rational_0_by_1_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 4381,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_rational_10_by_1_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 4648,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 2702,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed": {
"entryPoint": 4174,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3310,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 2432,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 3340,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3638,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2872,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library": {
"entryPoint": 2570,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2369,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2766,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_rational_0_by_1": {
"entryPoint": 4238,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_rational_1000000_by_1": {
"entryPoint": 3044,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_rational_10_by_1": {
"entryPoint": 4445,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2338,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2449,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_rational_0_by_1_to_t_uint256": {
"entryPoint": 4247,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_rational_1000000_by_1_to_t_uint256": {
"entryPoint": 3062,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_rational_10_by_1_to_t_uint256": {
"entryPoint": 4454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 3393,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"finalize_allocation": {
"entryPoint": 3256,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 3053,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x41": {
"entryPoint": 3211,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3187,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3191,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2445,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2441,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3195,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e": {
"entryPoint": 2966,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd": {
"entryPoint": 4570,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae": {
"entryPoint": 3942,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980": {
"entryPoint": 3750,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d": {
"entryPoint": 2888,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b": {
"entryPoint": 2586,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6": {
"entryPoint": 4096,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04": {
"entryPoint": 4303,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 2777,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2458,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:18902:4",
"nodeType": "YulBlock",
"src": "0:18902:4",
"statements": [
{
"body": {
"nativeSrc": "52:81:4",
"nodeType": "YulBlock",
"src": "52:81:4",
"statements": [
{
"nativeSrc": "62:65:4",
"nodeType": "YulAssignment",
"src": "62:65:4",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "77:5:4",
"nodeType": "YulIdentifier",
"src": "77:5:4"
},
{
"kind": "number",
"nativeSrc": "84:42:4",
"nodeType": "YulLiteral",
"src": "84:42:4",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "73:3:4",
"nodeType": "YulIdentifier",
"src": "73:3:4"
},
"nativeSrc": "73:54:4",
"nodeType": "YulFunctionCall",
"src": "73:54:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:4",
"nodeType": "YulIdentifier",
"src": "62:7:4"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "7:126:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:4",
"nodeType": "YulTypedName",
"src": "34:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:4",
"nodeType": "YulTypedName",
"src": "44:7:4",
"type": ""
}
],
"src": "7:126:4"
},
{
"body": {
"nativeSrc": "184:51:4",
"nodeType": "YulBlock",
"src": "184:51:4",
"statements": [
{
"nativeSrc": "194:35:4",
"nodeType": "YulAssignment",
"src": "194:35:4",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "223:5:4",
"nodeType": "YulIdentifier",
"src": "223:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "205:17:4",
"nodeType": "YulIdentifier",
"src": "205:17:4"
},
"nativeSrc": "205:24:4",
"nodeType": "YulFunctionCall",
"src": "205:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "194:7:4",
"nodeType": "YulIdentifier",
"src": "194:7:4"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "139:96:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "166:5:4",
"nodeType": "YulTypedName",
"src": "166:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "176:7:4",
"nodeType": "YulTypedName",
"src": "176:7:4",
"type": ""
}
],
"src": "139:96:4"
},
{
"body": {
"nativeSrc": "306:53:4",
"nodeType": "YulBlock",
"src": "306:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "323:3:4",
"nodeType": "YulIdentifier",
"src": "323:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "346:5:4",
"nodeType": "YulIdentifier",
"src": "346:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "328:17:4",
"nodeType": "YulIdentifier",
"src": "328:17:4"
},
"nativeSrc": "328:24:4",
"nodeType": "YulFunctionCall",
"src": "328:24:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "316:6:4",
"nodeType": "YulIdentifier",
"src": "316:6:4"
},
"nativeSrc": "316:37:4",
"nodeType": "YulFunctionCall",
"src": "316:37:4"
},
"nativeSrc": "316:37:4",
"nodeType": "YulExpressionStatement",
"src": "316:37:4"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "241:118:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "294:5:4",
"nodeType": "YulTypedName",
"src": "294:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "301:3:4",
"nodeType": "YulTypedName",
"src": "301:3:4",
"type": ""
}
],
"src": "241:118:4"
},
{
"body": {
"nativeSrc": "463:124:4",
"nodeType": "YulBlock",
"src": "463:124:4",
"statements": [
{
"nativeSrc": "473:26:4",
"nodeType": "YulAssignment",
"src": "473:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "485:9:4",
"nodeType": "YulIdentifier",
"src": "485:9:4"
},
{
"kind": "number",
"nativeSrc": "496:2:4",
"nodeType": "YulLiteral",
"src": "496:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "481:3:4",
"nodeType": "YulIdentifier",
"src": "481:3:4"
},
"nativeSrc": "481:18:4",
"nodeType": "YulFunctionCall",
"src": "481:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "473:4:4",
"nodeType": "YulIdentifier",
"src": "473:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "553:6:4",
"nodeType": "YulIdentifier",
"src": "553:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "566:9:4",
"nodeType": "YulIdentifier",
"src": "566:9:4"
},
{
"kind": "number",
"nativeSrc": "577:1:4",
"nodeType": "YulLiteral",
"src": "577:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "562:3:4",
"nodeType": "YulIdentifier",
"src": "562:3:4"
},
"nativeSrc": "562:17:4",
"nodeType": "YulFunctionCall",
"src": "562:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "509:43:4",
"nodeType": "YulIdentifier",
"src": "509:43:4"
},
"nativeSrc": "509:71:4",
"nodeType": "YulFunctionCall",
"src": "509:71:4"
},
"nativeSrc": "509:71:4",
"nodeType": "YulExpressionStatement",
"src": "509:71:4"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "365:222:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "435:9:4",
"nodeType": "YulTypedName",
"src": "435:9:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "447:6:4",
"nodeType": "YulTypedName",
"src": "447:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "458:4:4",
"nodeType": "YulTypedName",
"src": "458:4:4",
"type": ""
}
],
"src": "365:222:4"
},
{
"body": {
"nativeSrc": "633:35:4",
"nodeType": "YulBlock",
"src": "633:35:4",
"statements": [
{
"nativeSrc": "643:19:4",
"nodeType": "YulAssignment",
"src": "643:19:4",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "659:2:4",
"nodeType": "YulLiteral",
"src": "659:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "653:5:4",
"nodeType": "YulIdentifier",
"src": "653:5:4"
},
"nativeSrc": "653:9:4",
"nodeType": "YulFunctionCall",
"src": "653:9:4"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "643:6:4",
"nodeType": "YulIdentifier",
"src": "643:6:4"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "593:75:4",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "626:6:4",
"nodeType": "YulTypedName",
"src": "626:6:4",
"type": ""
}
],
"src": "593:75:4"
},
{
"body": {
"nativeSrc": "763:28:4",
"nodeType": "YulBlock",
"src": "763:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "780:1:4",
"nodeType": "YulLiteral",
"src": "780:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "783:1:4",
"nodeType": "YulLiteral",
"src": "783:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "773:6:4",
"nodeType": "YulIdentifier",
"src": "773:6:4"
},
"nativeSrc": "773:12:4",
"nodeType": "YulFunctionCall",
"src": "773:12:4"
},
"nativeSrc": "773:12:4",
"nodeType": "YulExpressionStatement",
"src": "773:12:4"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "674:117:4",
"nodeType": "YulFunctionDefinition",
"src": "674:117:4"
},
{
"body": {
"nativeSrc": "886:28:4",
"nodeType": "YulBlock",
"src": "886:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "903:1:4",
"nodeType": "YulLiteral",
"src": "903:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "906:1:4",
"nodeType": "YulLiteral",
"src": "906:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "896:6:4",
"nodeType": "YulIdentifier",
"src": "896:6:4"
},
"nativeSrc": "896:12:4",
"nodeType": "YulFunctionCall",
"src": "896:12:4"
},
"nativeSrc": "896:12:4",
"nodeType": "YulExpressionStatement",
"src": "896:12:4"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "797:117:4",
"nodeType": "YulFunctionDefinition",
"src": "797:117:4"
},
{
"body": {
"nativeSrc": "965:32:4",
"nodeType": "YulBlock",
"src": "965:32:4",
"statements": [
{
"nativeSrc": "975:16:4",
"nodeType": "YulAssignment",
"src": "975:16:4",
"value": {
"name": "value",
"nativeSrc": "986:5:4",
"nodeType": "YulIdentifier",
"src": "986:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "975:7:4",
"nodeType": "YulIdentifier",
"src": "975:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "920:77:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "947:5:4",
"nodeType": "YulTypedName",
"src": "947:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "957:7:4",
"nodeType": "YulTypedName",
"src": "957:7:4",
"type": ""
}
],
"src": "920:77:4"
},
{
"body": {
"nativeSrc": "1046:79:4",
"nodeType": "YulBlock",
"src": "1046:79:4",
"statements": [
{
"body": {
"nativeSrc": "1103:16:4",
"nodeType": "YulBlock",
"src": "1103:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1112:1:4",
"nodeType": "YulLiteral",
"src": "1112:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1115:1:4",
"nodeType": "YulLiteral",
"src": "1115:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1105:6:4",
"nodeType": "YulIdentifier",
"src": "1105:6:4"
},
"nativeSrc": "1105:12:4",
"nodeType": "YulFunctionCall",
"src": "1105:12:4"
},
"nativeSrc": "1105:12:4",
"nodeType": "YulExpressionStatement",
"src": "1105:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1069:5:4",
"nodeType": "YulIdentifier",
"src": "1069:5:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1094:5:4",
"nodeType": "YulIdentifier",
"src": "1094:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1076:17:4",
"nodeType": "YulIdentifier",
"src": "1076:17:4"
},
"nativeSrc": "1076:24:4",
"nodeType": "YulFunctionCall",
"src": "1076:24:4"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1066:2:4",
"nodeType": "YulIdentifier",
"src": "1066:2:4"
},
"nativeSrc": "1066:35:4",
"nodeType": "YulFunctionCall",
"src": "1066:35:4"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1059:6:4",
"nodeType": "YulIdentifier",
"src": "1059:6:4"
},
"nativeSrc": "1059:43:4",
"nodeType": "YulFunctionCall",
"src": "1059:43:4"
},
"nativeSrc": "1056:63:4",
"nodeType": "YulIf",
"src": "1056:63:4"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "1003:122:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1039:5:4",
"nodeType": "YulTypedName",
"src": "1039:5:4",
"type": ""
}
],
"src": "1003:122:4"
},
{
"body": {
"nativeSrc": "1194:80:4",
"nodeType": "YulBlock",
"src": "1194:80:4",
"statements": [
{
"nativeSrc": "1204:22:4",
"nodeType": "YulAssignment",
"src": "1204:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "1219:6:4",
"nodeType": "YulIdentifier",
"src": "1219:6:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1213:5:4",
"nodeType": "YulIdentifier",
"src": "1213:5:4"
},
"nativeSrc": "1213:13:4",
"nodeType": "YulFunctionCall",
"src": "1213:13:4"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1204:5:4",
"nodeType": "YulIdentifier",
"src": "1204:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1262:5:4",
"nodeType": "YulIdentifier",
"src": "1262:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "1235:26:4",
"nodeType": "YulIdentifier",
"src": "1235:26:4"
},
"nativeSrc": "1235:33:4",
"nodeType": "YulFunctionCall",
"src": "1235:33:4"
},
"nativeSrc": "1235:33:4",
"nodeType": "YulExpressionStatement",
"src": "1235:33:4"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "1131:143:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "1172:6:4",
"nodeType": "YulTypedName",
"src": "1172:6:4",
"type": ""
},
{
"name": "end",
"nativeSrc": "1180:3:4",
"nodeType": "YulTypedName",
"src": "1180:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "1188:5:4",
"nodeType": "YulTypedName",
"src": "1188:5:4",
"type": ""
}
],
"src": "1131:143:4"
},
{
"body": {
"nativeSrc": "1357:274:4",
"nodeType": "YulBlock",
"src": "1357:274:4",
"statements": [
{
"body": {
"nativeSrc": "1403:83:4",
"nodeType": "YulBlock",
"src": "1403:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1405:77:4",
"nodeType": "YulIdentifier",
"src": "1405:77:4"
},
"nativeSrc": "1405:79:4",
"nodeType": "YulFunctionCall",
"src": "1405:79:4"
},
"nativeSrc": "1405:79:4",
"nodeType": "YulExpressionStatement",
"src": "1405:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1378:7:4",
"nodeType": "YulIdentifier",
"src": "1378:7:4"
},
{
"name": "headStart",
"nativeSrc": "1387:9:4",
"nodeType": "YulIdentifier",
"src": "1387:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1374:3:4",
"nodeType": "YulIdentifier",
"src": "1374:3:4"
},
"nativeSrc": "1374:23:4",
"nodeType": "YulFunctionCall",
"src": "1374:23:4"
},
{
"kind": "number",
"nativeSrc": "1399:2:4",
"nodeType": "YulLiteral",
"src": "1399:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1370:3:4",
"nodeType": "YulIdentifier",
"src": "1370:3:4"
},
"nativeSrc": "1370:32:4",
"nodeType": "YulFunctionCall",
"src": "1370:32:4"
},
"nativeSrc": "1367:119:4",
"nodeType": "YulIf",
"src": "1367:119:4"
},
{
"nativeSrc": "1496:128:4",
"nodeType": "YulBlock",
"src": "1496:128:4",
"statements": [
{
"nativeSrc": "1511:15:4",
"nodeType": "YulVariableDeclaration",
"src": "1511:15:4",
"value": {
"kind": "number",
"nativeSrc": "1525:1:4",
"nodeType": "YulLiteral",
"src": "1525:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1515:6:4",
"nodeType": "YulTypedName",
"src": "1515:6:4",
"type": ""
}
]
},
{
"nativeSrc": "1540:74:4",
"nodeType": "YulAssignment",
"src": "1540:74:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1586:9:4",
"nodeType": "YulIdentifier",
"src": "1586:9:4"
},
{
"name": "offset",
"nativeSrc": "1597:6:4",
"nodeType": "YulIdentifier",
"src": "1597:6:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1582:3:4",
"nodeType": "YulIdentifier",
"src": "1582:3:4"
},
"nativeSrc": "1582:22:4",
"nodeType": "YulFunctionCall",
"src": "1582:22:4"
},
{
"name": "dataEnd",
"nativeSrc": "1606:7:4",
"nodeType": "YulIdentifier",
"src": "1606:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nativeSrc": "1550:31:4",
"nodeType": "YulIdentifier",
"src": "1550:31:4"
},
"nativeSrc": "1550:64:4",
"nodeType": "YulFunctionCall",
"src": "1550:64:4"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1540:6:4",
"nodeType": "YulIdentifier",
"src": "1540:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nativeSrc": "1280:351:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1327:9:4",
"nodeType": "YulTypedName",
"src": "1327:9:4",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1338:7:4",
"nodeType": "YulTypedName",
"src": "1338:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1350:6:4",
"nodeType": "YulTypedName",
"src": "1350:6:4",
"type": ""
}
],
"src": "1280:351:4"
},
{
"body": {
"nativeSrc": "1710:53:4",
"nodeType": "YulBlock",
"src": "1710:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1727:3:4",
"nodeType": "YulIdentifier",
"src": "1727:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1750:5:4",
"nodeType": "YulIdentifier",
"src": "1750:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1732:17:4",
"nodeType": "YulIdentifier",
"src": "1732:17:4"
},
"nativeSrc": "1732:24:4",
"nodeType": "YulFunctionCall",
"src": "1732:24:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1720:6:4",
"nodeType": "YulIdentifier",
"src": "1720:6:4"
},
"nativeSrc": "1720:37:4",
"nodeType": "YulFunctionCall",
"src": "1720:37:4"
},
"nativeSrc": "1720:37:4",
"nodeType": "YulExpressionStatement",
"src": "1720:37:4"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "1637:126:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1698:5:4",
"nodeType": "YulTypedName",
"src": "1698:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1705:3:4",
"nodeType": "YulTypedName",
"src": "1705:3:4",
"type": ""
}
],
"src": "1637:126:4"
},
{
"body": {
"nativeSrc": "1873:73:4",
"nodeType": "YulBlock",
"src": "1873:73:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1890:3:4",
"nodeType": "YulIdentifier",
"src": "1890:3:4"
},
{
"name": "length",
"nativeSrc": "1895:6:4",
"nodeType": "YulIdentifier",
"src": "1895:6:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1883:6:4",
"nodeType": "YulIdentifier",
"src": "1883:6:4"
},
"nativeSrc": "1883:19:4",
"nodeType": "YulFunctionCall",
"src": "1883:19:4"
},
"nativeSrc": "1883:19:4",
"nodeType": "YulExpressionStatement",
"src": "1883:19:4"
},
{
"nativeSrc": "1911:29:4",
"nodeType": "YulAssignment",
"src": "1911:29:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1930:3:4",
"nodeType": "YulIdentifier",
"src": "1930:3:4"
},
{
"kind": "number",
"nativeSrc": "1935:4:4",
"nodeType": "YulLiteral",
"src": "1935:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1926:3:4",
"nodeType": "YulIdentifier",
"src": "1926:3:4"
},
"nativeSrc": "1926:14:4",
"nodeType": "YulFunctionCall",
"src": "1926:14:4"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "1911:11:4",
"nodeType": "YulIdentifier",
"src": "1911:11:4"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "1769:177:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "1845:3:4",
"nodeType": "YulTypedName",
"src": "1845:3:4",
"type": ""
},
{
"name": "length",
"nativeSrc": "1850:6:4",
"nodeType": "YulTypedName",
"src": "1850:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "1861:11:4",
"nodeType": "YulTypedName",
"src": "1861:11:4",
"type": ""
}
],
"src": "1769:177:4"
},
{
"body": {
"nativeSrc": "2058:129:4",
"nodeType": "YulBlock",
"src": "2058:129:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2080:6:4",
"nodeType": "YulIdentifier",
"src": "2080:6:4"
},
{
"kind": "number",
"nativeSrc": "2088:1:4",
"nodeType": "YulLiteral",
"src": "2088:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2076:3:4",
"nodeType": "YulIdentifier",
"src": "2076:3:4"
},
"nativeSrc": "2076:14:4",
"nodeType": "YulFunctionCall",
"src": "2076:14:4"
},
{
"hexValue": "62616c616e6365206f66206f776e65722073686f756c6420626520657175616c",
"kind": "string",
"nativeSrc": "2092:34:4",
"nodeType": "YulLiteral",
"src": "2092:34:4",
"type": "",
"value": "balance of owner should be equal"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2069:6:4",
"nodeType": "YulIdentifier",
"src": "2069:6:4"
},
"nativeSrc": "2069:58:4",
"nodeType": "YulFunctionCall",
"src": "2069:58:4"
},
"nativeSrc": "2069:58:4",
"nodeType": "YulExpressionStatement",
"src": "2069:58:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2148:6:4",
"nodeType": "YulIdentifier",
"src": "2148:6:4"
},
{
"kind": "number",
"nativeSrc": "2156:2:4",
"nodeType": "YulLiteral",
"src": "2156:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2144:3:4",
"nodeType": "YulIdentifier",
"src": "2144:3:4"
},
"nativeSrc": "2144:15:4",
"nodeType": "YulFunctionCall",
"src": "2144:15:4"
},
{
"hexValue": "20746f20746f74616c20737570706c79",
"kind": "string",
"nativeSrc": "2161:18:4",
"nodeType": "YulLiteral",
"src": "2161:18:4",
"type": "",
"value": " to total supply"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2137:6:4",
"nodeType": "YulIdentifier",
"src": "2137:6:4"
},
"nativeSrc": "2137:43:4",
"nodeType": "YulFunctionCall",
"src": "2137:43:4"
},
"nativeSrc": "2137:43:4",
"nodeType": "YulExpressionStatement",
"src": "2137:43:4"
}
]
},
"name": "store_literal_in_memory_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b",
"nativeSrc": "1952:235:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "2050:6:4",
"nodeType": "YulTypedName",
"src": "2050:6:4",
"type": ""
}
],
"src": "1952:235:4"
},
{
"body": {
"nativeSrc": "2347:228:4",
"nodeType": "YulBlock",
"src": "2347:228:4",
"statements": [
{
"nativeSrc": "2357:82:4",
"nodeType": "YulAssignment",
"src": "2357:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2431:3:4",
"nodeType": "YulIdentifier",
"src": "2431:3:4"
},
{
"kind": "number",
"nativeSrc": "2436:2:4",
"nodeType": "YulLiteral",
"src": "2436:2:4",
"type": "",
"value": "48"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "2364:66:4",
"nodeType": "YulIdentifier",
"src": "2364:66:4"
},
"nativeSrc": "2364:75:4",
"nodeType": "YulFunctionCall",
"src": "2364:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2357:3:4",
"nodeType": "YulIdentifier",
"src": "2357:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2537:3:4",
"nodeType": "YulIdentifier",
"src": "2537:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b",
"nativeSrc": "2448:88:4",
"nodeType": "YulIdentifier",
"src": "2448:88:4"
},
"nativeSrc": "2448:93:4",
"nodeType": "YulFunctionCall",
"src": "2448:93:4"
},
"nativeSrc": "2448:93:4",
"nodeType": "YulExpressionStatement",
"src": "2448:93:4"
},
{
"nativeSrc": "2550:19:4",
"nodeType": "YulAssignment",
"src": "2550:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2561:3:4",
"nodeType": "YulIdentifier",
"src": "2561:3:4"
},
{
"kind": "number",
"nativeSrc": "2566:2:4",
"nodeType": "YulLiteral",
"src": "2566:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2557:3:4",
"nodeType": "YulIdentifier",
"src": "2557:3:4"
},
"nativeSrc": "2557:12:4",
"nodeType": "YulFunctionCall",
"src": "2557:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2550:3:4",
"nodeType": "YulIdentifier",
"src": "2550:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "2193:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2335:3:4",
"nodeType": "YulTypedName",
"src": "2335:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2343:3:4",
"nodeType": "YulTypedName",
"src": "2343:3:4",
"type": ""
}
],
"src": "2193:382:4"
},
{
"body": {
"nativeSrc": "2816:436:4",
"nodeType": "YulBlock",
"src": "2816:436:4",
"statements": [
{
"nativeSrc": "2826:26:4",
"nodeType": "YulAssignment",
"src": "2826:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2838:9:4",
"nodeType": "YulIdentifier",
"src": "2838:9:4"
},
{
"kind": "number",
"nativeSrc": "2849:2:4",
"nodeType": "YulLiteral",
"src": "2849:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2834:3:4",
"nodeType": "YulIdentifier",
"src": "2834:3:4"
},
"nativeSrc": "2834:18:4",
"nodeType": "YulFunctionCall",
"src": "2834:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2826:4:4",
"nodeType": "YulIdentifier",
"src": "2826:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "2914:6:4",
"nodeType": "YulIdentifier",
"src": "2914:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2927:9:4",
"nodeType": "YulIdentifier",
"src": "2927:9:4"
},
{
"kind": "number",
"nativeSrc": "2938:1:4",
"nodeType": "YulLiteral",
"src": "2938:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2923:3:4",
"nodeType": "YulIdentifier",
"src": "2923:3:4"
},
"nativeSrc": "2923:17:4",
"nodeType": "YulFunctionCall",
"src": "2923:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "2862:51:4",
"nodeType": "YulIdentifier",
"src": "2862:51:4"
},
"nativeSrc": "2862:79:4",
"nodeType": "YulFunctionCall",
"src": "2862:79:4"
},
"nativeSrc": "2862:79:4",
"nodeType": "YulExpressionStatement",
"src": "2862:79:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "3003:6:4",
"nodeType": "YulIdentifier",
"src": "3003:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3016:9:4",
"nodeType": "YulIdentifier",
"src": "3016:9:4"
},
{
"kind": "number",
"nativeSrc": "3027:2:4",
"nodeType": "YulLiteral",
"src": "3027:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3012:3:4",
"nodeType": "YulIdentifier",
"src": "3012:3:4"
},
"nativeSrc": "3012:18:4",
"nodeType": "YulFunctionCall",
"src": "3012:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "2951:51:4",
"nodeType": "YulIdentifier",
"src": "2951:51:4"
},
"nativeSrc": "2951:80:4",
"nodeType": "YulFunctionCall",
"src": "2951:80:4"
},
"nativeSrc": "2951:80:4",
"nodeType": "YulExpressionStatement",
"src": "2951:80:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3052:9:4",
"nodeType": "YulIdentifier",
"src": "3052:9:4"
},
{
"kind": "number",
"nativeSrc": "3063:2:4",
"nodeType": "YulLiteral",
"src": "3063:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3048:3:4",
"nodeType": "YulIdentifier",
"src": "3048:3:4"
},
"nativeSrc": "3048:18:4",
"nodeType": "YulFunctionCall",
"src": "3048:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "3072:4:4",
"nodeType": "YulIdentifier",
"src": "3072:4:4"
},
{
"name": "headStart",
"nativeSrc": "3078:9:4",
"nodeType": "YulIdentifier",
"src": "3078:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3068:3:4",
"nodeType": "YulIdentifier",
"src": "3068:3:4"
},
"nativeSrc": "3068:20:4",
"nodeType": "YulFunctionCall",
"src": "3068:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3041:6:4",
"nodeType": "YulIdentifier",
"src": "3041:6:4"
},
"nativeSrc": "3041:48:4",
"nodeType": "YulFunctionCall",
"src": "3041:48:4"
},
"nativeSrc": "3041:48:4",
"nodeType": "YulExpressionStatement",
"src": "3041:48:4"
},
{
"nativeSrc": "3098:147:4",
"nodeType": "YulAssignment",
"src": "3098:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "3240:4:4",
"nodeType": "YulIdentifier",
"src": "3240:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "3106:132:4",
"nodeType": "YulIdentifier",
"src": "3106:132:4"
},
"nativeSrc": "3106:139:4",
"nodeType": "YulFunctionCall",
"src": "3106:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3098:4:4",
"nodeType": "YulIdentifier",
"src": "3098:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "2581:671:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2780:9:4",
"nodeType": "YulTypedName",
"src": "2780:9:4",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2792:6:4",
"nodeType": "YulTypedName",
"src": "2792:6:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "2800:6:4",
"nodeType": "YulTypedName",
"src": "2800:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2811:4:4",
"nodeType": "YulTypedName",
"src": "2811:4:4",
"type": ""
}
],
"src": "2581:671:4"
},
{
"body": {
"nativeSrc": "3300:48:4",
"nodeType": "YulBlock",
"src": "3300:48:4",
"statements": [
{
"nativeSrc": "3310:32:4",
"nodeType": "YulAssignment",
"src": "3310:32:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3335:5:4",
"nodeType": "YulIdentifier",
"src": "3335:5:4"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3328:6:4",
"nodeType": "YulIdentifier",
"src": "3328:6:4"
},
"nativeSrc": "3328:13:4",
"nodeType": "YulFunctionCall",
"src": "3328:13:4"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3321:6:4",
"nodeType": "YulIdentifier",
"src": "3321:6:4"
},
"nativeSrc": "3321:21:4",
"nodeType": "YulFunctionCall",
"src": "3321:21:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3310:7:4",
"nodeType": "YulIdentifier",
"src": "3310:7:4"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "3258:90:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3282:5:4",
"nodeType": "YulTypedName",
"src": "3282:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3292:7:4",
"nodeType": "YulTypedName",
"src": "3292:7:4",
"type": ""
}
],
"src": "3258:90:4"
},
{
"body": {
"nativeSrc": "3394:76:4",
"nodeType": "YulBlock",
"src": "3394:76:4",
"statements": [
{
"body": {
"nativeSrc": "3448:16:4",
"nodeType": "YulBlock",
"src": "3448:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "3457:1:4",
"nodeType": "YulLiteral",
"src": "3457:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "3460:1:4",
"nodeType": "YulLiteral",
"src": "3460:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "3450:6:4",
"nodeType": "YulIdentifier",
"src": "3450:6:4"
},
"nativeSrc": "3450:12:4",
"nodeType": "YulFunctionCall",
"src": "3450:12:4"
},
"nativeSrc": "3450:12:4",
"nodeType": "YulExpressionStatement",
"src": "3450:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3417:5:4",
"nodeType": "YulIdentifier",
"src": "3417:5:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3439:5:4",
"nodeType": "YulIdentifier",
"src": "3439:5:4"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "3424:14:4",
"nodeType": "YulIdentifier",
"src": "3424:14:4"
},
"nativeSrc": "3424:21:4",
"nodeType": "YulFunctionCall",
"src": "3424:21:4"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "3414:2:4",
"nodeType": "YulIdentifier",
"src": "3414:2:4"
},
"nativeSrc": "3414:32:4",
"nodeType": "YulFunctionCall",
"src": "3414:32:4"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3407:6:4",
"nodeType": "YulIdentifier",
"src": "3407:6:4"
},
"nativeSrc": "3407:40:4",
"nodeType": "YulFunctionCall",
"src": "3407:40:4"
},
"nativeSrc": "3404:60:4",
"nodeType": "YulIf",
"src": "3404:60:4"
}
]
},
"name": "validator_revert_t_bool",
"nativeSrc": "3354:116:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3387:5:4",
"nodeType": "YulTypedName",
"src": "3387:5:4",
"type": ""
}
],
"src": "3354:116:4"
},
{
"body": {
"nativeSrc": "3536:77:4",
"nodeType": "YulBlock",
"src": "3536:77:4",
"statements": [
{
"nativeSrc": "3546:22:4",
"nodeType": "YulAssignment",
"src": "3546:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3561:6:4",
"nodeType": "YulIdentifier",
"src": "3561:6:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "3555:5:4",
"nodeType": "YulIdentifier",
"src": "3555:5:4"
},
"nativeSrc": "3555:13:4",
"nodeType": "YulFunctionCall",
"src": "3555:13:4"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "3546:5:4",
"nodeType": "YulIdentifier",
"src": "3546:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "3601:5:4",
"nodeType": "YulIdentifier",
"src": "3601:5:4"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nativeSrc": "3577:23:4",
"nodeType": "YulIdentifier",
"src": "3577:23:4"
},
"nativeSrc": "3577:30:4",
"nodeType": "YulFunctionCall",
"src": "3577:30:4"
},
"nativeSrc": "3577:30:4",
"nodeType": "YulExpressionStatement",
"src": "3577:30:4"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nativeSrc": "3476:137:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "3514:6:4",
"nodeType": "YulTypedName",
"src": "3514:6:4",
"type": ""
},
{
"name": "end",
"nativeSrc": "3522:3:4",
"nodeType": "YulTypedName",
"src": "3522:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "3530:5:4",
"nodeType": "YulTypedName",
"src": "3530:5:4",
"type": ""
}
],
"src": "3476:137:4"
},
{
"body": {
"nativeSrc": "3693:271:4",
"nodeType": "YulBlock",
"src": "3693:271:4",
"statements": [
{
"body": {
"nativeSrc": "3739:83:4",
"nodeType": "YulBlock",
"src": "3739:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3741:77:4",
"nodeType": "YulIdentifier",
"src": "3741:77:4"
},
"nativeSrc": "3741:79:4",
"nodeType": "YulFunctionCall",
"src": "3741:79:4"
},
"nativeSrc": "3741:79:4",
"nodeType": "YulExpressionStatement",
"src": "3741:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3714:7:4",
"nodeType": "YulIdentifier",
"src": "3714:7:4"
},
{
"name": "headStart",
"nativeSrc": "3723:9:4",
"nodeType": "YulIdentifier",
"src": "3723:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3710:3:4",
"nodeType": "YulIdentifier",
"src": "3710:3:4"
},
"nativeSrc": "3710:23:4",
"nodeType": "YulFunctionCall",
"src": "3710:23:4"
},
{
"kind": "number",
"nativeSrc": "3735:2:4",
"nodeType": "YulLiteral",
"src": "3735:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3706:3:4",
"nodeType": "YulIdentifier",
"src": "3706:3:4"
},
"nativeSrc": "3706:32:4",
"nodeType": "YulFunctionCall",
"src": "3706:32:4"
},
"nativeSrc": "3703:119:4",
"nodeType": "YulIf",
"src": "3703:119:4"
},
{
"nativeSrc": "3832:125:4",
"nodeType": "YulBlock",
"src": "3832:125:4",
"statements": [
{
"nativeSrc": "3847:15:4",
"nodeType": "YulVariableDeclaration",
"src": "3847:15:4",
"value": {
"kind": "number",
"nativeSrc": "3861:1:4",
"nodeType": "YulLiteral",
"src": "3861:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3851:6:4",
"nodeType": "YulTypedName",
"src": "3851:6:4",
"type": ""
}
]
},
{
"nativeSrc": "3876:71:4",
"nodeType": "YulAssignment",
"src": "3876:71:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3919:9:4",
"nodeType": "YulIdentifier",
"src": "3919:9:4"
},
{
"name": "offset",
"nativeSrc": "3930:6:4",
"nodeType": "YulIdentifier",
"src": "3930:6:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3915:3:4",
"nodeType": "YulIdentifier",
"src": "3915:3:4"
},
"nativeSrc": "3915:22:4",
"nodeType": "YulFunctionCall",
"src": "3915:22:4"
},
{
"name": "dataEnd",
"nativeSrc": "3939:7:4",
"nodeType": "YulIdentifier",
"src": "3939:7:4"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nativeSrc": "3886:28:4",
"nodeType": "YulIdentifier",
"src": "3886:28:4"
},
"nativeSrc": "3886:61:4",
"nodeType": "YulFunctionCall",
"src": "3886:61:4"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3876:6:4",
"nodeType": "YulIdentifier",
"src": "3876:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nativeSrc": "3619:345:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3663:9:4",
"nodeType": "YulTypedName",
"src": "3663:9:4",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3674:7:4",
"nodeType": "YulTypedName",
"src": "3674:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3686:6:4",
"nodeType": "YulTypedName",
"src": "3686:6:4",
"type": ""
}
],
"src": "3619:345:4"
},
{
"body": {
"nativeSrc": "4066:73:4",
"nodeType": "YulBlock",
"src": "4066:73:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4083:3:4",
"nodeType": "YulIdentifier",
"src": "4083:3:4"
},
{
"name": "length",
"nativeSrc": "4088:6:4",
"nodeType": "YulIdentifier",
"src": "4088:6:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4076:6:4",
"nodeType": "YulIdentifier",
"src": "4076:6:4"
},
"nativeSrc": "4076:19:4",
"nodeType": "YulFunctionCall",
"src": "4076:19:4"
},
"nativeSrc": "4076:19:4",
"nodeType": "YulExpressionStatement",
"src": "4076:19:4"
},
{
"nativeSrc": "4104:29:4",
"nodeType": "YulAssignment",
"src": "4104:29:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4123:3:4",
"nodeType": "YulIdentifier",
"src": "4123:3:4"
},
{
"kind": "number",
"nativeSrc": "4128:4:4",
"nodeType": "YulLiteral",
"src": "4128:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4119:3:4",
"nodeType": "YulIdentifier",
"src": "4119:3:4"
},
"nativeSrc": "4119:14:4",
"nodeType": "YulFunctionCall",
"src": "4119:14:4"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4104:11:4",
"nodeType": "YulIdentifier",
"src": "4104:11:4"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "3970:169:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4038:3:4",
"nodeType": "YulTypedName",
"src": "4038:3:4",
"type": ""
},
{
"name": "length",
"nativeSrc": "4043:6:4",
"nodeType": "YulTypedName",
"src": "4043:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4054:11:4",
"nodeType": "YulTypedName",
"src": "4054:11:4",
"type": ""
}
],
"src": "3970:169:4"
},
{
"body": {
"nativeSrc": "4251:48:4",
"nodeType": "YulBlock",
"src": "4251:48:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "4273:6:4",
"nodeType": "YulIdentifier",
"src": "4273:6:4"
},
{
"kind": "number",
"nativeSrc": "4281:1:4",
"nodeType": "YulLiteral",
"src": "4281:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4269:3:4",
"nodeType": "YulIdentifier",
"src": "4269:3:4"
},
"nativeSrc": "4269:14:4",
"nodeType": "YulFunctionCall",
"src": "4269:14:4"
},
{
"hexValue": "4249474f",
"kind": "string",
"nativeSrc": "4285:6:4",
"nodeType": "YulLiteral",
"src": "4285:6:4",
"type": "",
"value": "BIGO"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4262:6:4",
"nodeType": "YulIdentifier",
"src": "4262:6:4"
},
"nativeSrc": "4262:30:4",
"nodeType": "YulFunctionCall",
"src": "4262:30:4"
},
"nativeSrc": "4262:30:4",
"nodeType": "YulExpressionStatement",
"src": "4262:30:4"
}
]
},
"name": "store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d",
"nativeSrc": "4145:154:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "4243:6:4",
"nodeType": "YulTypedName",
"src": "4243:6:4",
"type": ""
}
],
"src": "4145:154:4"
},
{
"body": {
"nativeSrc": "4451:219:4",
"nodeType": "YulBlock",
"src": "4451:219:4",
"statements": [
{
"nativeSrc": "4461:73:4",
"nodeType": "YulAssignment",
"src": "4461:73:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4527:3:4",
"nodeType": "YulIdentifier",
"src": "4527:3:4"
},
{
"kind": "number",
"nativeSrc": "4532:1:4",
"nodeType": "YulLiteral",
"src": "4532:1:4",
"type": "",
"value": "4"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4468:58:4",
"nodeType": "YulIdentifier",
"src": "4468:58:4"
},
"nativeSrc": "4468:66:4",
"nodeType": "YulFunctionCall",
"src": "4468:66:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4461:3:4",
"nodeType": "YulIdentifier",
"src": "4461:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4632:3:4",
"nodeType": "YulIdentifier",
"src": "4632:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d",
"nativeSrc": "4543:88:4",
"nodeType": "YulIdentifier",
"src": "4543:88:4"
},
"nativeSrc": "4543:93:4",
"nodeType": "YulFunctionCall",
"src": "4543:93:4"
},
"nativeSrc": "4543:93:4",
"nodeType": "YulExpressionStatement",
"src": "4543:93:4"
},
{
"nativeSrc": "4645:19:4",
"nodeType": "YulAssignment",
"src": "4645:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4656:3:4",
"nodeType": "YulIdentifier",
"src": "4656:3:4"
},
{
"kind": "number",
"nativeSrc": "4661:2:4",
"nodeType": "YulLiteral",
"src": "4661:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4652:3:4",
"nodeType": "YulIdentifier",
"src": "4652:3:4"
},
"nativeSrc": "4652:12:4",
"nodeType": "YulFunctionCall",
"src": "4652:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "4645:3:4",
"nodeType": "YulIdentifier",
"src": "4645:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "4305:365:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4439:3:4",
"nodeType": "YulTypedName",
"src": "4439:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4447:3:4",
"nodeType": "YulTypedName",
"src": "4447:3:4",
"type": ""
}
],
"src": "4305:365:4"
},
{
"body": {
"nativeSrc": "4782:47:4",
"nodeType": "YulBlock",
"src": "4782:47:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "4804:6:4",
"nodeType": "YulIdentifier",
"src": "4804:6:4"
},
{
"kind": "number",
"nativeSrc": "4812:1:4",
"nodeType": "YulLiteral",
"src": "4812:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4800:3:4",
"nodeType": "YulIdentifier",
"src": "4800:3:4"
},
"nativeSrc": "4800:14:4",
"nodeType": "YulFunctionCall",
"src": "4800:14:4"
},
{
"hexValue": "424947",
"kind": "string",
"nativeSrc": "4816:5:4",
"nodeType": "YulLiteral",
"src": "4816:5:4",
"type": "",
"value": "BIG"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4793:6:4",
"nodeType": "YulIdentifier",
"src": "4793:6:4"
},
"nativeSrc": "4793:29:4",
"nodeType": "YulFunctionCall",
"src": "4793:29:4"
},
"nativeSrc": "4793:29:4",
"nodeType": "YulExpressionStatement",
"src": "4793:29:4"
}
]
},
"name": "store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e",
"nativeSrc": "4676:153:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "4774:6:4",
"nodeType": "YulTypedName",
"src": "4774:6:4",
"type": ""
}
],
"src": "4676:153:4"
},
{
"body": {
"nativeSrc": "4981:219:4",
"nodeType": "YulBlock",
"src": "4981:219:4",
"statements": [
{
"nativeSrc": "4991:73:4",
"nodeType": "YulAssignment",
"src": "4991:73:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5057:3:4",
"nodeType": "YulIdentifier",
"src": "5057:3:4"
},
{
"kind": "number",
"nativeSrc": "5062:1:4",
"nodeType": "YulLiteral",
"src": "5062:1:4",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "4998:58:4",
"nodeType": "YulIdentifier",
"src": "4998:58:4"
},
"nativeSrc": "4998:66:4",
"nodeType": "YulFunctionCall",
"src": "4998:66:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4991:3:4",
"nodeType": "YulIdentifier",
"src": "4991:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5162:3:4",
"nodeType": "YulIdentifier",
"src": "5162:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e",
"nativeSrc": "5073:88:4",
"nodeType": "YulIdentifier",
"src": "5073:88:4"
},
"nativeSrc": "5073:93:4",
"nodeType": "YulFunctionCall",
"src": "5073:93:4"
},
"nativeSrc": "5073:93:4",
"nodeType": "YulExpressionStatement",
"src": "5073:93:4"
},
{
"nativeSrc": "5175:19:4",
"nodeType": "YulAssignment",
"src": "5175:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5186:3:4",
"nodeType": "YulIdentifier",
"src": "5186:3:4"
},
{
"kind": "number",
"nativeSrc": "5191:2:4",
"nodeType": "YulLiteral",
"src": "5191:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5182:3:4",
"nodeType": "YulIdentifier",
"src": "5182:3:4"
},
"nativeSrc": "5182:12:4",
"nodeType": "YulFunctionCall",
"src": "5182:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "5175:3:4",
"nodeType": "YulIdentifier",
"src": "5175:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack",
"nativeSrc": "4835:365:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4969:3:4",
"nodeType": "YulTypedName",
"src": "4969:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4977:3:4",
"nodeType": "YulTypedName",
"src": "4977:3:4",
"type": ""
}
],
"src": "4835:365:4"
},
{
"body": {
"nativeSrc": "5265:32:4",
"nodeType": "YulBlock",
"src": "5265:32:4",
"statements": [
{
"nativeSrc": "5275:16:4",
"nodeType": "YulAssignment",
"src": "5275:16:4",
"value": {
"name": "value",
"nativeSrc": "5286:5:4",
"nodeType": "YulIdentifier",
"src": "5286:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "5275:7:4",
"nodeType": "YulIdentifier",
"src": "5275:7:4"
}
]
}
]
},
"name": "cleanup_t_rational_1000000_by_1",
"nativeSrc": "5206:91:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5247:5:4",
"nodeType": "YulTypedName",
"src": "5247:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "5257:7:4",
"nodeType": "YulTypedName",
"src": "5257:7:4",
"type": ""
}
],
"src": "5206:91:4"
},
{
"body": {
"nativeSrc": "5335:28:4",
"nodeType": "YulBlock",
"src": "5335:28:4",
"statements": [
{
"nativeSrc": "5345:12:4",
"nodeType": "YulAssignment",
"src": "5345:12:4",
"value": {
"name": "value",
"nativeSrc": "5352:5:4",
"nodeType": "YulIdentifier",
"src": "5352:5:4"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "5345:3:4",
"nodeType": "YulIdentifier",
"src": "5345:3:4"
}
]
}
]
},
"name": "identity",
"nativeSrc": "5303:60:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5321:5:4",
"nodeType": "YulTypedName",
"src": "5321:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "5331:3:4",
"nodeType": "YulTypedName",
"src": "5331:3:4",
"type": ""
}
],
"src": "5303:60:4"
},
{
"body": {
"nativeSrc": "5443:96:4",
"nodeType": "YulBlock",
"src": "5443:96:4",
"statements": [
{
"nativeSrc": "5453:80:4",
"nodeType": "YulAssignment",
"src": "5453:80:4",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5525:5:4",
"nodeType": "YulIdentifier",
"src": "5525:5:4"
}
],
"functionName": {
"name": "cleanup_t_rational_1000000_by_1",
"nativeSrc": "5493:31:4",
"nodeType": "YulIdentifier",
"src": "5493:31:4"
},
"nativeSrc": "5493:38:4",
"nodeType": "YulFunctionCall",
"src": "5493:38:4"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "5484:8:4",
"nodeType": "YulIdentifier",
"src": "5484:8:4"
},
"nativeSrc": "5484:48:4",
"nodeType": "YulFunctionCall",
"src": "5484:48:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "5466:17:4",
"nodeType": "YulIdentifier",
"src": "5466:17:4"
},
"nativeSrc": "5466:67:4",
"nodeType": "YulFunctionCall",
"src": "5466:67:4"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "5453:9:4",
"nodeType": "YulIdentifier",
"src": "5453:9:4"
}
]
}
]
},
"name": "convert_t_rational_1000000_by_1_to_t_uint256",
"nativeSrc": "5369:170:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5423:5:4",
"nodeType": "YulTypedName",
"src": "5423:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "5433:9:4",
"nodeType": "YulTypedName",
"src": "5433:9:4",
"type": ""
}
],
"src": "5369:170:4"
},
{
"body": {
"nativeSrc": "5624:80:4",
"nodeType": "YulBlock",
"src": "5624:80:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5641:3:4",
"nodeType": "YulIdentifier",
"src": "5641:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5691:5:4",
"nodeType": "YulIdentifier",
"src": "5691:5:4"
}
],
"functionName": {
"name": "convert_t_rational_1000000_by_1_to_t_uint256",
"nativeSrc": "5646:44:4",
"nodeType": "YulIdentifier",
"src": "5646:44:4"
},
"nativeSrc": "5646:51:4",
"nodeType": "YulFunctionCall",
"src": "5646:51:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5634:6:4",
"nodeType": "YulIdentifier",
"src": "5634:6:4"
},
"nativeSrc": "5634:64:4",
"nodeType": "YulFunctionCall",
"src": "5634:64:4"
},
"nativeSrc": "5634:64:4",
"nodeType": "YulExpressionStatement",
"src": "5634:64:4"
}
]
},
"name": "abi_encode_t_rational_1000000_by_1_to_t_uint256_fromStack",
"nativeSrc": "5545:159:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5612:5:4",
"nodeType": "YulTypedName",
"src": "5612:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5619:3:4",
"nodeType": "YulTypedName",
"src": "5619:3:4",
"type": ""
}
],
"src": "5545:159:4"
},
{
"body": {
"nativeSrc": "6024:550:4",
"nodeType": "YulBlock",
"src": "6024:550:4",
"statements": [
{
"nativeSrc": "6034:26:4",
"nodeType": "YulAssignment",
"src": "6034:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6046:9:4",
"nodeType": "YulIdentifier",
"src": "6046:9:4"
},
{
"kind": "number",
"nativeSrc": "6057:2:4",
"nodeType": "YulLiteral",
"src": "6057:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6042:3:4",
"nodeType": "YulIdentifier",
"src": "6042:3:4"
},
"nativeSrc": "6042:18:4",
"nodeType": "YulFunctionCall",
"src": "6042:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6034:4:4",
"nodeType": "YulIdentifier",
"src": "6034:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6081:9:4",
"nodeType": "YulIdentifier",
"src": "6081:9:4"
},
{
"kind": "number",
"nativeSrc": "6092:1:4",
"nodeType": "YulLiteral",
"src": "6092:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6077:3:4",
"nodeType": "YulIdentifier",
"src": "6077:3:4"
},
"nativeSrc": "6077:17:4",
"nodeType": "YulFunctionCall",
"src": "6077:17:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "6100:4:4",
"nodeType": "YulIdentifier",
"src": "6100:4:4"
},
{
"name": "headStart",
"nativeSrc": "6106:9:4",
"nodeType": "YulIdentifier",
"src": "6106:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6096:3:4",
"nodeType": "YulIdentifier",
"src": "6096:3:4"
},
"nativeSrc": "6096:20:4",
"nodeType": "YulFunctionCall",
"src": "6096:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6070:6:4",
"nodeType": "YulIdentifier",
"src": "6070:6:4"
},
"nativeSrc": "6070:47:4",
"nodeType": "YulFunctionCall",
"src": "6070:47:4"
},
"nativeSrc": "6070:47:4",
"nodeType": "YulExpressionStatement",
"src": "6070:47:4"
},
{
"nativeSrc": "6126:139:4",
"nodeType": "YulAssignment",
"src": "6126:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "6260:4:4",
"nodeType": "YulIdentifier",
"src": "6260:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "6134:124:4",
"nodeType": "YulIdentifier",
"src": "6134:124:4"
},
"nativeSrc": "6134:131:4",
"nodeType": "YulFunctionCall",
"src": "6134:131:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6126:4:4",
"nodeType": "YulIdentifier",
"src": "6126:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6286:9:4",
"nodeType": "YulIdentifier",
"src": "6286:9:4"
},
{
"kind": "number",
"nativeSrc": "6297:2:4",
"nodeType": "YulLiteral",
"src": "6297:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6282:3:4",
"nodeType": "YulIdentifier",
"src": "6282:3:4"
},
"nativeSrc": "6282:18:4",
"nodeType": "YulFunctionCall",
"src": "6282:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "6306:4:4",
"nodeType": "YulIdentifier",
"src": "6306:4:4"
},
{
"name": "headStart",
"nativeSrc": "6312:9:4",
"nodeType": "YulIdentifier",
"src": "6312:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6302:3:4",
"nodeType": "YulIdentifier",
"src": "6302:3:4"
},
"nativeSrc": "6302:20:4",
"nodeType": "YulFunctionCall",
"src": "6302:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6275:6:4",
"nodeType": "YulIdentifier",
"src": "6275:6:4"
},
"nativeSrc": "6275:48:4",
"nodeType": "YulFunctionCall",
"src": "6275:48:4"
},
"nativeSrc": "6275:48:4",
"nodeType": "YulExpressionStatement",
"src": "6275:48:4"
},
{
"nativeSrc": "6332:139:4",
"nodeType": "YulAssignment",
"src": "6332:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "6466:4:4",
"nodeType": "YulIdentifier",
"src": "6466:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack",
"nativeSrc": "6340:124:4",
"nodeType": "YulIdentifier",
"src": "6340:124:4"
},
"nativeSrc": "6340:131:4",
"nodeType": "YulFunctionCall",
"src": "6340:131:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6332:4:4",
"nodeType": "YulIdentifier",
"src": "6332:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6539:6:4",
"nodeType": "YulIdentifier",
"src": "6539:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6552:9:4",
"nodeType": "YulIdentifier",
"src": "6552:9:4"
},
{
"kind": "number",
"nativeSrc": "6563:2:4",
"nodeType": "YulLiteral",
"src": "6563:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6548:3:4",
"nodeType": "YulIdentifier",
"src": "6548:3:4"
},
"nativeSrc": "6548:18:4",
"nodeType": "YulFunctionCall",
"src": "6548:18:4"
}
],
"functionName": {
"name": "abi_encode_t_rational_1000000_by_1_to_t_uint256_fromStack",
"nativeSrc": "6481:57:4",
"nodeType": "YulIdentifier",
"src": "6481:57:4"
},
"nativeSrc": "6481:86:4",
"nodeType": "YulFunctionCall",
"src": "6481:86:4"
},
"nativeSrc": "6481:86:4",
"nodeType": "YulExpressionStatement",
"src": "6481:86:4"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_rational_1000000_by_1__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nativeSrc": "5710:864:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5996:9:4",
"nodeType": "YulTypedName",
"src": "5996:9:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6008:6:4",
"nodeType": "YulTypedName",
"src": "6008:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6019:4:4",
"nodeType": "YulTypedName",
"src": "6019:4:4",
"type": ""
}
],
"src": "5710:864:4"
},
{
"body": {
"nativeSrc": "6669:28:4",
"nodeType": "YulBlock",
"src": "6669:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6686:1:4",
"nodeType": "YulLiteral",
"src": "6686:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6689:1:4",
"nodeType": "YulLiteral",
"src": "6689:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6679:6:4",
"nodeType": "YulIdentifier",
"src": "6679:6:4"
},
"nativeSrc": "6679:12:4",
"nodeType": "YulFunctionCall",
"src": "6679:12:4"
},
"nativeSrc": "6679:12:4",
"nodeType": "YulExpressionStatement",
"src": "6679:12:4"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "6580:117:4",
"nodeType": "YulFunctionDefinition",
"src": "6580:117:4"
},
{
"body": {
"nativeSrc": "6792:28:4",
"nodeType": "YulBlock",
"src": "6792:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6809:1:4",
"nodeType": "YulLiteral",
"src": "6809:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6812:1:4",
"nodeType": "YulLiteral",
"src": "6812:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6802:6:4",
"nodeType": "YulIdentifier",
"src": "6802:6:4"
},
"nativeSrc": "6802:12:4",
"nodeType": "YulFunctionCall",
"src": "6802:12:4"
},
"nativeSrc": "6802:12:4",
"nodeType": "YulExpressionStatement",
"src": "6802:12:4"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "6703:117:4",
"nodeType": "YulFunctionDefinition",
"src": "6703:117:4"
},
{
"body": {
"nativeSrc": "6874:54:4",
"nodeType": "YulBlock",
"src": "6874:54:4",
"statements": [
{
"nativeSrc": "6884:38:4",
"nodeType": "YulAssignment",
"src": "6884:38:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6902:5:4",
"nodeType": "YulIdentifier",
"src": "6902:5:4"
},
{
"kind": "number",
"nativeSrc": "6909:2:4",
"nodeType": "YulLiteral",
"src": "6909:2:4",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6898:3:4",
"nodeType": "YulIdentifier",
"src": "6898:3:4"
},
"nativeSrc": "6898:14:4",
"nodeType": "YulFunctionCall",
"src": "6898:14:4"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "6918:2:4",
"nodeType": "YulLiteral",
"src": "6918:2:4",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "6914:3:4",
"nodeType": "YulIdentifier",
"src": "6914:3:4"
},
"nativeSrc": "6914:7:4",
"nodeType": "YulFunctionCall",
"src": "6914:7:4"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6894:3:4",
"nodeType": "YulIdentifier",
"src": "6894:3:4"
},
"nativeSrc": "6894:28:4",
"nodeType": "YulFunctionCall",
"src": "6894:28:4"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "6884:6:4",
"nodeType": "YulIdentifier",
"src": "6884:6:4"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "6826:102:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6857:5:4",
"nodeType": "YulTypedName",
"src": "6857:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "6867:6:4",
"nodeType": "YulTypedName",
"src": "6867:6:4",
"type": ""
}
],
"src": "6826:102:4"
},
{
"body": {
"nativeSrc": "6962:152:4",
"nodeType": "YulBlock",
"src": "6962:152:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6979:1:4",
"nodeType": "YulLiteral",
"src": "6979:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6982:77:4",
"nodeType": "YulLiteral",
"src": "6982:77:4",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6972:6:4",
"nodeType": "YulIdentifier",
"src": "6972:6:4"
},
"nativeSrc": "6972:88:4",
"nodeType": "YulFunctionCall",
"src": "6972:88:4"
},
"nativeSrc": "6972:88:4",
"nodeType": "YulExpressionStatement",
"src": "6972:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7076:1:4",
"nodeType": "YulLiteral",
"src": "7076:1:4",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "7079:4:4",
"nodeType": "YulLiteral",
"src": "7079:4:4",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7069:6:4",
"nodeType": "YulIdentifier",
"src": "7069:6:4"
},
"nativeSrc": "7069:15:4",
"nodeType": "YulFunctionCall",
"src": "7069:15:4"
},
"nativeSrc": "7069:15:4",
"nodeType": "YulExpressionStatement",
"src": "7069:15:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7100:1:4",
"nodeType": "YulLiteral",
"src": "7100:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7103:4:4",
"nodeType": "YulLiteral",
"src": "7103:4:4",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7093:6:4",
"nodeType": "YulIdentifier",
"src": "7093:6:4"
},
"nativeSrc": "7093:15:4",
"nodeType": "YulFunctionCall",
"src": "7093:15:4"
},
"nativeSrc": "7093:15:4",
"nodeType": "YulExpressionStatement",
"src": "7093:15:4"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "6934:180:4",
"nodeType": "YulFunctionDefinition",
"src": "6934:180:4"
},
{
"body": {
"nativeSrc": "7163:238:4",
"nodeType": "YulBlock",
"src": "7163:238:4",
"statements": [
{
"nativeSrc": "7173:58:4",
"nodeType": "YulVariableDeclaration",
"src": "7173:58:4",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "7195:6:4",
"nodeType": "YulIdentifier",
"src": "7195:6:4"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "7225:4:4",
"nodeType": "YulIdentifier",
"src": "7225:4:4"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "7203:21:4",
"nodeType": "YulIdentifier",
"src": "7203:21:4"
},
"nativeSrc": "7203:27:4",
"nodeType": "YulFunctionCall",
"src": "7203:27:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7191:3:4",
"nodeType": "YulIdentifier",
"src": "7191:3:4"
},
"nativeSrc": "7191:40:4",
"nodeType": "YulFunctionCall",
"src": "7191:40:4"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "7177:10:4",
"nodeType": "YulTypedName",
"src": "7177:10:4",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7342:22:4",
"nodeType": "YulBlock",
"src": "7342:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "7344:16:4",
"nodeType": "YulIdentifier",
"src": "7344:16:4"
},
"nativeSrc": "7344:18:4",
"nodeType": "YulFunctionCall",
"src": "7344:18:4"
},
"nativeSrc": "7344:18:4",
"nodeType": "YulExpressionStatement",
"src": "7344:18:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "7285:10:4",
"nodeType": "YulIdentifier",
"src": "7285:10:4"
},
{
"kind": "number",
"nativeSrc": "7297:18:4",
"nodeType": "YulLiteral",
"src": "7297:18:4",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7282:2:4",
"nodeType": "YulIdentifier",
"src": "7282:2:4"
},
"nativeSrc": "7282:34:4",
"nodeType": "YulFunctionCall",
"src": "7282:34:4"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "7321:10:4",
"nodeType": "YulIdentifier",
"src": "7321:10:4"
},
{
"name": "memPtr",
"nativeSrc": "7333:6:4",
"nodeType": "YulIdentifier",
"src": "7333:6:4"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7318:2:4",
"nodeType": "YulIdentifier",
"src": "7318:2:4"
},
"nativeSrc": "7318:22:4",
"nodeType": "YulFunctionCall",
"src": "7318:22:4"
}
],
"functionName": {
"name": "or",
"nativeSrc": "7279:2:4",
"nodeType": "YulIdentifier",
"src": "7279:2:4"
},
"nativeSrc": "7279:62:4",
"nodeType": "YulFunctionCall",
"src": "7279:62:4"
},
"nativeSrc": "7276:88:4",
"nodeType": "YulIf",
"src": "7276:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7380:2:4",
"nodeType": "YulLiteral",
"src": "7380:2:4",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "7384:10:4",
"nodeType": "YulIdentifier",
"src": "7384:10:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7373:6:4",
"nodeType": "YulIdentifier",
"src": "7373:6:4"
},
"nativeSrc": "7373:22:4",
"nodeType": "YulFunctionCall",
"src": "7373:22:4"
},
"nativeSrc": "7373:22:4",
"nodeType": "YulExpressionStatement",
"src": "7373:22:4"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "7120:281:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "7149:6:4",
"nodeType": "YulTypedName",
"src": "7149:6:4",
"type": ""
},
{
"name": "size",
"nativeSrc": "7157:4:4",
"nodeType": "YulTypedName",
"src": "7157:4:4",
"type": ""
}
],
"src": "7120:281:4"
},
{
"body": {
"nativeSrc": "7448:88:4",
"nodeType": "YulBlock",
"src": "7448:88:4",
"statements": [
{
"nativeSrc": "7458:30:4",
"nodeType": "YulAssignment",
"src": "7458:30:4",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "7468:18:4",
"nodeType": "YulIdentifier",
"src": "7468:18:4"
},
"nativeSrc": "7468:20:4",
"nodeType": "YulFunctionCall",
"src": "7468:20:4"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "7458:6:4",
"nodeType": "YulIdentifier",
"src": "7458:6:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "7517:6:4",
"nodeType": "YulIdentifier",
"src": "7517:6:4"
},
{
"name": "size",
"nativeSrc": "7525:4:4",
"nodeType": "YulIdentifier",
"src": "7525:4:4"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "7497:19:4",
"nodeType": "YulIdentifier",
"src": "7497:19:4"
},
"nativeSrc": "7497:33:4",
"nodeType": "YulFunctionCall",
"src": "7497:33:4"
},
"nativeSrc": "7497:33:4",
"nodeType": "YulExpressionStatement",
"src": "7497:33:4"
}
]
},
"name": "allocate_memory",
"nativeSrc": "7407:129:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "7432:4:4",
"nodeType": "YulTypedName",
"src": "7432:4:4",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "7441:6:4",
"nodeType": "YulTypedName",
"src": "7441:6:4",
"type": ""
}
],
"src": "7407:129:4"
},
{
"body": {
"nativeSrc": "7609:241:4",
"nodeType": "YulBlock",
"src": "7609:241:4",
"statements": [
{
"body": {
"nativeSrc": "7714:22:4",
"nodeType": "YulBlock",
"src": "7714:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "7716:16:4",
"nodeType": "YulIdentifier",
"src": "7716:16:4"
},
"nativeSrc": "7716:18:4",
"nodeType": "YulFunctionCall",
"src": "7716:18:4"
},
"nativeSrc": "7716:18:4",
"nodeType": "YulExpressionStatement",
"src": "7716:18:4"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "7686:6:4",
"nodeType": "YulIdentifier",
"src": "7686:6:4"
},
{
"kind": "number",
"nativeSrc": "7694:18:4",
"nodeType": "YulLiteral",
"src": "7694:18:4",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7683:2:4",
"nodeType": "YulIdentifier",
"src": "7683:2:4"
},
"nativeSrc": "7683:30:4",
"nodeType": "YulFunctionCall",
"src": "7683:30:4"
},
"nativeSrc": "7680:56:4",
"nodeType": "YulIf",
"src": "7680:56:4"
},
{
"nativeSrc": "7746:37:4",
"nodeType": "YulAssignment",
"src": "7746:37:4",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "7776:6:4",
"nodeType": "YulIdentifier",
"src": "7776:6:4"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "7754:21:4",
"nodeType": "YulIdentifier",
"src": "7754:21:4"
},
"nativeSrc": "7754:29:4",
"nodeType": "YulFunctionCall",
"src": "7754:29:4"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "7746:4:4",
"nodeType": "YulIdentifier",
"src": "7746:4:4"
}
]
},
{
"nativeSrc": "7820:23:4",
"nodeType": "YulAssignment",
"src": "7820:23:4",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "7832:4:4",
"nodeType": "YulIdentifier",
"src": "7832:4:4"
},
{
"kind": "number",
"nativeSrc": "7838:4:4",
"nodeType": "YulLiteral",
"src": "7838:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7828:3:4",
"nodeType": "YulIdentifier",
"src": "7828:3:4"
},
"nativeSrc": "7828:15:4",
"nodeType": "YulFunctionCall",
"src": "7828:15:4"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "7820:4:4",
"nodeType": "YulIdentifier",
"src": "7820:4:4"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "7542:308:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "7593:6:4",
"nodeType": "YulTypedName",
"src": "7593:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "7604:4:4",
"nodeType": "YulTypedName",
"src": "7604:4:4",
"type": ""
}
],
"src": "7542:308:4"
},
{
"body": {
"nativeSrc": "7918:184:4",
"nodeType": "YulBlock",
"src": "7918:184:4",
"statements": [
{
"nativeSrc": "7928:10:4",
"nodeType": "YulVariableDeclaration",
"src": "7928:10:4",
"value": {
"kind": "number",
"nativeSrc": "7937:1:4",
"nodeType": "YulLiteral",
"src": "7937:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "7932:1:4",
"nodeType": "YulTypedName",
"src": "7932:1:4",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7997:63:4",
"nodeType": "YulBlock",
"src": "7997:63:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "8022:3:4",
"nodeType": "YulIdentifier",
"src": "8022:3:4"
},
{
"name": "i",
"nativeSrc": "8027:1:4",
"nodeType": "YulIdentifier",
"src": "8027:1:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8018:3:4",
"nodeType": "YulIdentifier",
"src": "8018:3:4"
},
"nativeSrc": "8018:11:4",
"nodeType": "YulFunctionCall",
"src": "8018:11:4"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "8041:3:4",
"nodeType": "YulIdentifier",
"src": "8041:3:4"
},
{
"name": "i",
"nativeSrc": "8046:1:4",
"nodeType": "YulIdentifier",
"src": "8046:1:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8037:3:4",
"nodeType": "YulIdentifier",
"src": "8037:3:4"
},
"nativeSrc": "8037:11:4",
"nodeType": "YulFunctionCall",
"src": "8037:11:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8031:5:4",
"nodeType": "YulIdentifier",
"src": "8031:5:4"
},
"nativeSrc": "8031:18:4",
"nodeType": "YulFunctionCall",
"src": "8031:18:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8011:6:4",
"nodeType": "YulIdentifier",
"src": "8011:6:4"
},
"nativeSrc": "8011:39:4",
"nodeType": "YulFunctionCall",
"src": "8011:39:4"
},
"nativeSrc": "8011:39:4",
"nodeType": "YulExpressionStatement",
"src": "8011:39:4"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "7958:1:4",
"nodeType": "YulIdentifier",
"src": "7958:1:4"
},
{
"name": "length",
"nativeSrc": "7961:6:4",
"nodeType": "YulIdentifier",
"src": "7961:6:4"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7955:2:4",
"nodeType": "YulIdentifier",
"src": "7955:2:4"
},
"nativeSrc": "7955:13:4",
"nodeType": "YulFunctionCall",
"src": "7955:13:4"
},
"nativeSrc": "7947:113:4",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "7969:19:4",
"nodeType": "YulBlock",
"src": "7969:19:4",
"statements": [
{
"nativeSrc": "7971:15:4",
"nodeType": "YulAssignment",
"src": "7971:15:4",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "7980:1:4",
"nodeType": "YulIdentifier",
"src": "7980:1:4"
},
{
"kind": "number",
"nativeSrc": "7983:2:4",
"nodeType": "YulLiteral",
"src": "7983:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7976:3:4",
"nodeType": "YulIdentifier",
"src": "7976:3:4"
},
"nativeSrc": "7976:10:4",
"nodeType": "YulFunctionCall",
"src": "7976:10:4"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "7971:1:4",
"nodeType": "YulIdentifier",
"src": "7971:1:4"
}
]
}
]
},
"pre": {
"nativeSrc": "7951:3:4",
"nodeType": "YulBlock",
"src": "7951:3:4",
"statements": []
},
"src": "7947:113:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "8080:3:4",
"nodeType": "YulIdentifier",
"src": "8080:3:4"
},
{
"name": "length",
"nativeSrc": "8085:6:4",
"nodeType": "YulIdentifier",
"src": "8085:6:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8076:3:4",
"nodeType": "YulIdentifier",
"src": "8076:3:4"
},
"nativeSrc": "8076:16:4",
"nodeType": "YulFunctionCall",
"src": "8076:16:4"
},
{
"kind": "number",
"nativeSrc": "8094:1:4",
"nodeType": "YulLiteral",
"src": "8094:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8069:6:4",
"nodeType": "YulIdentifier",
"src": "8069:6:4"
},
"nativeSrc": "8069:27:4",
"nodeType": "YulFunctionCall",
"src": "8069:27:4"
},
"nativeSrc": "8069:27:4",
"nodeType": "YulExpressionStatement",
"src": "8069:27:4"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "7856:246:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "7900:3:4",
"nodeType": "YulTypedName",
"src": "7900:3:4",
"type": ""
},
{
"name": "dst",
"nativeSrc": "7905:3:4",
"nodeType": "YulTypedName",
"src": "7905:3:4",
"type": ""
},
{
"name": "length",
"nativeSrc": "7910:6:4",
"nodeType": "YulTypedName",
"src": "7910:6:4",
"type": ""
}
],
"src": "7856:246:4"
},
{
"body": {
"nativeSrc": "8203:339:4",
"nodeType": "YulBlock",
"src": "8203:339:4",
"statements": [
{
"nativeSrc": "8213:75:4",
"nodeType": "YulAssignment",
"src": "8213:75:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "8280:6:4",
"nodeType": "YulIdentifier",
"src": "8280:6:4"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "8238:41:4",
"nodeType": "YulIdentifier",
"src": "8238:41:4"
},
"nativeSrc": "8238:49:4",
"nodeType": "YulFunctionCall",
"src": "8238:49:4"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "8222:15:4",
"nodeType": "YulIdentifier",
"src": "8222:15:4"
},
"nativeSrc": "8222:66:4",
"nodeType": "YulFunctionCall",
"src": "8222:66:4"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "8213:5:4",
"nodeType": "YulIdentifier",
"src": "8213:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "8304:5:4",
"nodeType": "YulIdentifier",
"src": "8304:5:4"
},
{
"name": "length",
"nativeSrc": "8311:6:4",
"nodeType": "YulIdentifier",
"src": "8311:6:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8297:6:4",
"nodeType": "YulIdentifier",
"src": "8297:6:4"
},
"nativeSrc": "8297:21:4",
"nodeType": "YulFunctionCall",
"src": "8297:21:4"
},
"nativeSrc": "8297:21:4",
"nodeType": "YulExpressionStatement",
"src": "8297:21:4"
},
{
"nativeSrc": "8327:27:4",
"nodeType": "YulVariableDeclaration",
"src": "8327:27:4",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "8342:5:4",
"nodeType": "YulIdentifier",
"src": "8342:5:4"
},
{
"kind": "number",
"nativeSrc": "8349:4:4",
"nodeType": "YulLiteral",
"src": "8349:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8338:3:4",
"nodeType": "YulIdentifier",
"src": "8338:3:4"
},
"nativeSrc": "8338:16:4",
"nodeType": "YulFunctionCall",
"src": "8338:16:4"
},
"variables": [
{
"name": "dst",
"nativeSrc": "8331:3:4",
"nodeType": "YulTypedName",
"src": "8331:3:4",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8392:83:4",
"nodeType": "YulBlock",
"src": "8392:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "8394:77:4",
"nodeType": "YulIdentifier",
"src": "8394:77:4"
},
"nativeSrc": "8394:79:4",
"nodeType": "YulFunctionCall",
"src": "8394:79:4"
},
"nativeSrc": "8394:79:4",
"nodeType": "YulExpressionStatement",
"src": "8394:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "8373:3:4",
"nodeType": "YulIdentifier",
"src": "8373:3:4"
},
{
"name": "length",
"nativeSrc": "8378:6:4",
"nodeType": "YulIdentifier",
"src": "8378:6:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8369:3:4",
"nodeType": "YulIdentifier",
"src": "8369:3:4"
},
"nativeSrc": "8369:16:4",
"nodeType": "YulFunctionCall",
"src": "8369:16:4"
},
{
"name": "end",
"nativeSrc": "8387:3:4",
"nodeType": "YulIdentifier",
"src": "8387:3:4"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8366:2:4",
"nodeType": "YulIdentifier",
"src": "8366:2:4"
},
"nativeSrc": "8366:25:4",
"nodeType": "YulFunctionCall",
"src": "8366:25:4"
},
"nativeSrc": "8363:112:4",
"nodeType": "YulIf",
"src": "8363:112:4"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "8519:3:4",
"nodeType": "YulIdentifier",
"src": "8519:3:4"
},
{
"name": "dst",
"nativeSrc": "8524:3:4",
"nodeType": "YulIdentifier",
"src": "8524:3:4"
},
{
"name": "length",
"nativeSrc": "8529:6:4",
"nodeType": "YulIdentifier",
"src": "8529:6:4"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "8484:34:4",
"nodeType": "YulIdentifier",
"src": "8484:34:4"
},
"nativeSrc": "8484:52:4",
"nodeType": "YulFunctionCall",
"src": "8484:52:4"
},
"nativeSrc": "8484:52:4",
"nodeType": "YulExpressionStatement",
"src": "8484:52:4"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nativeSrc": "8108:434:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "8176:3:4",
"nodeType": "YulTypedName",
"src": "8176:3:4",
"type": ""
},
{
"name": "length",
"nativeSrc": "8181:6:4",
"nodeType": "YulTypedName",
"src": "8181:6:4",
"type": ""
},
{
"name": "end",
"nativeSrc": "8189:3:4",
"nodeType": "YulTypedName",
"src": "8189:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "8197:5:4",
"nodeType": "YulTypedName",
"src": "8197:5:4",
"type": ""
}
],
"src": "8108:434:4"
},
{
"body": {
"nativeSrc": "8635:282:4",
"nodeType": "YulBlock",
"src": "8635:282:4",
"statements": [
{
"body": {
"nativeSrc": "8684:83:4",
"nodeType": "YulBlock",
"src": "8684:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "8686:77:4",
"nodeType": "YulIdentifier",
"src": "8686:77:4"
},
"nativeSrc": "8686:79:4",
"nodeType": "YulFunctionCall",
"src": "8686:79:4"
},
"nativeSrc": "8686:79:4",
"nodeType": "YulExpressionStatement",
"src": "8686:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "8663:6:4",
"nodeType": "YulIdentifier",
"src": "8663:6:4"
},
{
"kind": "number",
"nativeSrc": "8671:4:4",
"nodeType": "YulLiteral",
"src": "8671:4:4",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8659:3:4",
"nodeType": "YulIdentifier",
"src": "8659:3:4"
},
"nativeSrc": "8659:17:4",
"nodeType": "YulFunctionCall",
"src": "8659:17:4"
},
{
"name": "end",
"nativeSrc": "8678:3:4",
"nodeType": "YulIdentifier",
"src": "8678:3:4"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "8655:3:4",
"nodeType": "YulIdentifier",
"src": "8655:3:4"
},
"nativeSrc": "8655:27:4",
"nodeType": "YulFunctionCall",
"src": "8655:27:4"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "8648:6:4",
"nodeType": "YulIdentifier",
"src": "8648:6:4"
},
"nativeSrc": "8648:35:4",
"nodeType": "YulFunctionCall",
"src": "8648:35:4"
},
"nativeSrc": "8645:122:4",
"nodeType": "YulIf",
"src": "8645:122:4"
},
{
"nativeSrc": "8776:27:4",
"nodeType": "YulVariableDeclaration",
"src": "8776:27:4",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "8796:6:4",
"nodeType": "YulIdentifier",
"src": "8796:6:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8790:5:4",
"nodeType": "YulIdentifier",
"src": "8790:5:4"
},
"nativeSrc": "8790:13:4",
"nodeType": "YulFunctionCall",
"src": "8790:13:4"
},
"variables": [
{
"name": "length",
"nativeSrc": "8780:6:4",
"nodeType": "YulTypedName",
"src": "8780:6:4",
"type": ""
}
]
},
{
"nativeSrc": "8812:99:4",
"nodeType": "YulAssignment",
"src": "8812:99:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "8884:6:4",
"nodeType": "YulIdentifier",
"src": "8884:6:4"
},
{
"kind": "number",
"nativeSrc": "8892:4:4",
"nodeType": "YulLiteral",
"src": "8892:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8880:3:4",
"nodeType": "YulIdentifier",
"src": "8880:3:4"
},
"nativeSrc": "8880:17:4",
"nodeType": "YulFunctionCall",
"src": "8880:17:4"
},
{
"name": "length",
"nativeSrc": "8899:6:4",
"nodeType": "YulIdentifier",
"src": "8899:6:4"
},
{
"name": "end",
"nativeSrc": "8907:3:4",
"nodeType": "YulIdentifier",
"src": "8907:3:4"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nativeSrc": "8821:58:4",
"nodeType": "YulIdentifier",
"src": "8821:58:4"
},
"nativeSrc": "8821:90:4",
"nodeType": "YulFunctionCall",
"src": "8821:90:4"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "8812:5:4",
"nodeType": "YulIdentifier",
"src": "8812:5:4"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nativeSrc": "8562:355:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "8613:6:4",
"nodeType": "YulTypedName",
"src": "8613:6:4",
"type": ""
},
{
"name": "end",
"nativeSrc": "8621:3:4",
"nodeType": "YulTypedName",
"src": "8621:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "8629:5:4",
"nodeType": "YulTypedName",
"src": "8629:5:4",
"type": ""
}
],
"src": "8562:355:4"
},
{
"body": {
"nativeSrc": "9010:437:4",
"nodeType": "YulBlock",
"src": "9010:437:4",
"statements": [
{
"body": {
"nativeSrc": "9056:83:4",
"nodeType": "YulBlock",
"src": "9056:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "9058:77:4",
"nodeType": "YulIdentifier",
"src": "9058:77:4"
},
"nativeSrc": "9058:79:4",
"nodeType": "YulFunctionCall",
"src": "9058:79:4"
},
"nativeSrc": "9058:79:4",
"nodeType": "YulExpressionStatement",
"src": "9058:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "9031:7:4",
"nodeType": "YulIdentifier",
"src": "9031:7:4"
},
{
"name": "headStart",
"nativeSrc": "9040:9:4",
"nodeType": "YulIdentifier",
"src": "9040:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "9027:3:4",
"nodeType": "YulIdentifier",
"src": "9027:3:4"
},
"nativeSrc": "9027:23:4",
"nodeType": "YulFunctionCall",
"src": "9027:23:4"
},
{
"kind": "number",
"nativeSrc": "9052:2:4",
"nodeType": "YulLiteral",
"src": "9052:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "9023:3:4",
"nodeType": "YulIdentifier",
"src": "9023:3:4"
},
"nativeSrc": "9023:32:4",
"nodeType": "YulFunctionCall",
"src": "9023:32:4"
},
"nativeSrc": "9020:119:4",
"nodeType": "YulIf",
"src": "9020:119:4"
},
{
"nativeSrc": "9149:291:4",
"nodeType": "YulBlock",
"src": "9149:291:4",
"statements": [
{
"nativeSrc": "9164:38:4",
"nodeType": "YulVariableDeclaration",
"src": "9164:38:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9188:9:4",
"nodeType": "YulIdentifier",
"src": "9188:9:4"
},
{
"kind": "number",
"nativeSrc": "9199:1:4",
"nodeType": "YulLiteral",
"src": "9199:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9184:3:4",
"nodeType": "YulIdentifier",
"src": "9184:3:4"
},
"nativeSrc": "9184:17:4",
"nodeType": "YulFunctionCall",
"src": "9184:17:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "9178:5:4",
"nodeType": "YulIdentifier",
"src": "9178:5:4"
},
"nativeSrc": "9178:24:4",
"nodeType": "YulFunctionCall",
"src": "9178:24:4"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9168:6:4",
"nodeType": "YulTypedName",
"src": "9168:6:4",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9249:83:4",
"nodeType": "YulBlock",
"src": "9249:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "9251:77:4",
"nodeType": "YulIdentifier",
"src": "9251:77:4"
},
"nativeSrc": "9251:79:4",
"nodeType": "YulFunctionCall",
"src": "9251:79:4"
},
"nativeSrc": "9251:79:4",
"nodeType": "YulExpressionStatement",
"src": "9251:79:4"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "9221:6:4",
"nodeType": "YulIdentifier",
"src": "9221:6:4"
},
{
"kind": "number",
"nativeSrc": "9229:18:4",
"nodeType": "YulLiteral",
"src": "9229:18:4",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "9218:2:4",
"nodeType": "YulIdentifier",
"src": "9218:2:4"
},
"nativeSrc": "9218:30:4",
"nodeType": "YulFunctionCall",
"src": "9218:30:4"
},
"nativeSrc": "9215:117:4",
"nodeType": "YulIf",
"src": "9215:117:4"
},
{
"nativeSrc": "9346:84:4",
"nodeType": "YulAssignment",
"src": "9346:84:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9402:9:4",
"nodeType": "YulIdentifier",
"src": "9402:9:4"
},
{
"name": "offset",
"nativeSrc": "9413:6:4",
"nodeType": "YulIdentifier",
"src": "9413:6:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9398:3:4",
"nodeType": "YulIdentifier",
"src": "9398:3:4"
},
"nativeSrc": "9398:22:4",
"nodeType": "YulFunctionCall",
"src": "9398:22:4"
},
{
"name": "dataEnd",
"nativeSrc": "9422:7:4",
"nodeType": "YulIdentifier",
"src": "9422:7:4"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nativeSrc": "9356:41:4",
"nodeType": "YulIdentifier",
"src": "9356:41:4"
},
"nativeSrc": "9356:74:4",
"nodeType": "YulFunctionCall",
"src": "9356:74:4"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "9346:6:4",
"nodeType": "YulIdentifier",
"src": "9346:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
"nativeSrc": "8923:524:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8980:9:4",
"nodeType": "YulTypedName",
"src": "8980:9:4",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "8991:7:4",
"nodeType": "YulTypedName",
"src": "8991:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "9003:6:4",
"nodeType": "YulTypedName",
"src": "9003:6:4",
"type": ""
}
],
"src": "8923:524:4"
},
{
"body": {
"nativeSrc": "9512:40:4",
"nodeType": "YulBlock",
"src": "9512:40:4",
"statements": [
{
"nativeSrc": "9523:22:4",
"nodeType": "YulAssignment",
"src": "9523:22:4",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "9539:5:4",
"nodeType": "YulIdentifier",
"src": "9539:5:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "9533:5:4",
"nodeType": "YulIdentifier",
"src": "9533:5:4"
},
"nativeSrc": "9533:12:4",
"nodeType": "YulFunctionCall",
"src": "9533:12:4"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "9523:6:4",
"nodeType": "YulIdentifier",
"src": "9523:6:4"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "9453:99:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9495:5:4",
"nodeType": "YulTypedName",
"src": "9495:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "9505:6:4",
"nodeType": "YulTypedName",
"src": "9505:6:4",
"type": ""
}
],
"src": "9453:99:4"
},
{
"body": {
"nativeSrc": "9658:293:4",
"nodeType": "YulBlock",
"src": "9658:293:4",
"statements": [
{
"nativeSrc": "9668:53:4",
"nodeType": "YulVariableDeclaration",
"src": "9668:53:4",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "9715:5:4",
"nodeType": "YulIdentifier",
"src": "9715:5:4"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "9682:32:4",
"nodeType": "YulIdentifier",
"src": "9682:32:4"
},
"nativeSrc": "9682:39:4",
"nodeType": "YulFunctionCall",
"src": "9682:39:4"
},
"variables": [
{
"name": "length",
"nativeSrc": "9672:6:4",
"nodeType": "YulTypedName",
"src": "9672:6:4",
"type": ""
}
]
},
{
"nativeSrc": "9730:86:4",
"nodeType": "YulAssignment",
"src": "9730:86:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9804:3:4",
"nodeType": "YulIdentifier",
"src": "9804:3:4"
},
{
"name": "length",
"nativeSrc": "9809:6:4",
"nodeType": "YulIdentifier",
"src": "9809:6:4"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "9737:66:4",
"nodeType": "YulIdentifier",
"src": "9737:66:4"
},
"nativeSrc": "9737:79:4",
"nodeType": "YulFunctionCall",
"src": "9737:79:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "9730:3:4",
"nodeType": "YulIdentifier",
"src": "9730:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "9864:5:4",
"nodeType": "YulIdentifier",
"src": "9864:5:4"
},
{
"kind": "number",
"nativeSrc": "9871:4:4",
"nodeType": "YulLiteral",
"src": "9871:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9860:3:4",
"nodeType": "YulIdentifier",
"src": "9860:3:4"
},
"nativeSrc": "9860:16:4",
"nodeType": "YulFunctionCall",
"src": "9860:16:4"
},
{
"name": "pos",
"nativeSrc": "9878:3:4",
"nodeType": "YulIdentifier",
"src": "9878:3:4"
},
{
"name": "length",
"nativeSrc": "9883:6:4",
"nodeType": "YulIdentifier",
"src": "9883:6:4"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "9825:34:4",
"nodeType": "YulIdentifier",
"src": "9825:34:4"
},
"nativeSrc": "9825:65:4",
"nodeType": "YulFunctionCall",
"src": "9825:65:4"
},
"nativeSrc": "9825:65:4",
"nodeType": "YulExpressionStatement",
"src": "9825:65:4"
},
{
"nativeSrc": "9899:46:4",
"nodeType": "YulAssignment",
"src": "9899:46:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9910:3:4",
"nodeType": "YulIdentifier",
"src": "9910:3:4"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "9937:6:4",
"nodeType": "YulIdentifier",
"src": "9937:6:4"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "9915:21:4",
"nodeType": "YulIdentifier",
"src": "9915:21:4"
},
"nativeSrc": "9915:29:4",
"nodeType": "YulFunctionCall",
"src": "9915:29:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9906:3:4",
"nodeType": "YulIdentifier",
"src": "9906:3:4"
},
"nativeSrc": "9906:39:4",
"nodeType": "YulFunctionCall",
"src": "9906:39:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "9899:3:4",
"nodeType": "YulIdentifier",
"src": "9899:3:4"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "9558:393:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9639:5:4",
"nodeType": "YulTypedName",
"src": "9639:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "9646:3:4",
"nodeType": "YulTypedName",
"src": "9646:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "9654:3:4",
"nodeType": "YulTypedName",
"src": "9654:3:4",
"type": ""
}
],
"src": "9558:393:4"
},
{
"body": {
"nativeSrc": "10111:227:4",
"nodeType": "YulBlock",
"src": "10111:227:4",
"statements": [
{
"nativeSrc": "10121:81:4",
"nodeType": "YulAssignment",
"src": "10121:81:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10195:3:4",
"nodeType": "YulIdentifier",
"src": "10195:3:4"
},
{
"kind": "number",
"nativeSrc": "10200:1:4",
"nodeType": "YulLiteral",
"src": "10200:1:4",
"type": "",
"value": "4"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "10128:66:4",
"nodeType": "YulIdentifier",
"src": "10128:66:4"
},
"nativeSrc": "10128:74:4",
"nodeType": "YulFunctionCall",
"src": "10128:74:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "10121:3:4",
"nodeType": "YulIdentifier",
"src": "10121:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10300:3:4",
"nodeType": "YulIdentifier",
"src": "10300:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d",
"nativeSrc": "10211:88:4",
"nodeType": "YulIdentifier",
"src": "10211:88:4"
},
"nativeSrc": "10211:93:4",
"nodeType": "YulFunctionCall",
"src": "10211:93:4"
},
"nativeSrc": "10211:93:4",
"nodeType": "YulExpressionStatement",
"src": "10211:93:4"
},
{
"nativeSrc": "10313:19:4",
"nodeType": "YulAssignment",
"src": "10313:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10324:3:4",
"nodeType": "YulIdentifier",
"src": "10324:3:4"
},
{
"kind": "number",
"nativeSrc": "10329:2:4",
"nodeType": "YulLiteral",
"src": "10329:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10320:3:4",
"nodeType": "YulIdentifier",
"src": "10320:3:4"
},
"nativeSrc": "10320:12:4",
"nodeType": "YulFunctionCall",
"src": "10320:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "10313:3:4",
"nodeType": "YulIdentifier",
"src": "10313:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "9957:381:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "10099:3:4",
"nodeType": "YulTypedName",
"src": "10099:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "10107:3:4",
"nodeType": "YulTypedName",
"src": "10107:3:4",
"type": ""
}
],
"src": "9957:381:4"
},
{
"body": {
"nativeSrc": "10450:63:4",
"nodeType": "YulBlock",
"src": "10450:63:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "10472:6:4",
"nodeType": "YulIdentifier",
"src": "10472:6:4"
},
{
"kind": "number",
"nativeSrc": "10480:1:4",
"nodeType": "YulLiteral",
"src": "10480:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10468:3:4",
"nodeType": "YulIdentifier",
"src": "10468:3:4"
},
"nativeSrc": "10468:14:4",
"nodeType": "YulFunctionCall",
"src": "10468:14:4"
},
{
"hexValue": "6e616d652073686f756c64206265204249474f",
"kind": "string",
"nativeSrc": "10484:21:4",
"nodeType": "YulLiteral",
"src": "10484:21:4",
"type": "",
"value": "name should be BIGO"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "10461:6:4",
"nodeType": "YulIdentifier",
"src": "10461:6:4"
},
"nativeSrc": "10461:45:4",
"nodeType": "YulFunctionCall",
"src": "10461:45:4"
},
"nativeSrc": "10461:45:4",
"nodeType": "YulExpressionStatement",
"src": "10461:45:4"
}
]
},
"name": "store_literal_in_memory_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980",
"nativeSrc": "10344:169:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "10442:6:4",
"nodeType": "YulTypedName",
"src": "10442:6:4",
"type": ""
}
],
"src": "10344:169:4"
},
{
"body": {
"nativeSrc": "10673:228:4",
"nodeType": "YulBlock",
"src": "10673:228:4",
"statements": [
{
"nativeSrc": "10683:82:4",
"nodeType": "YulAssignment",
"src": "10683:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10757:3:4",
"nodeType": "YulIdentifier",
"src": "10757:3:4"
},
{
"kind": "number",
"nativeSrc": "10762:2:4",
"nodeType": "YulLiteral",
"src": "10762:2:4",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "10690:66:4",
"nodeType": "YulIdentifier",
"src": "10690:66:4"
},
"nativeSrc": "10690:75:4",
"nodeType": "YulFunctionCall",
"src": "10690:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "10683:3:4",
"nodeType": "YulIdentifier",
"src": "10683:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10863:3:4",
"nodeType": "YulIdentifier",
"src": "10863:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980",
"nativeSrc": "10774:88:4",
"nodeType": "YulIdentifier",
"src": "10774:88:4"
},
"nativeSrc": "10774:93:4",
"nodeType": "YulFunctionCall",
"src": "10774:93:4"
},
"nativeSrc": "10774:93:4",
"nodeType": "YulExpressionStatement",
"src": "10774:93:4"
},
{
"nativeSrc": "10876:19:4",
"nodeType": "YulAssignment",
"src": "10876:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10887:3:4",
"nodeType": "YulIdentifier",
"src": "10887:3:4"
},
{
"kind": "number",
"nativeSrc": "10892:2:4",
"nodeType": "YulLiteral",
"src": "10892:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10883:3:4",
"nodeType": "YulIdentifier",
"src": "10883:3:4"
},
"nativeSrc": "10883:12:4",
"nodeType": "YulFunctionCall",
"src": "10883:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "10876:3:4",
"nodeType": "YulIdentifier",
"src": "10876:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "10519:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "10661:3:4",
"nodeType": "YulTypedName",
"src": "10661:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "10669:3:4",
"nodeType": "YulTypedName",
"src": "10669:3:4",
"type": ""
}
],
"src": "10519:382:4"
},
{
"body": {
"nativeSrc": "11235:631:4",
"nodeType": "YulBlock",
"src": "11235:631:4",
"statements": [
{
"nativeSrc": "11245:26:4",
"nodeType": "YulAssignment",
"src": "11245:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "11257:9:4",
"nodeType": "YulIdentifier",
"src": "11257:9:4"
},
{
"kind": "number",
"nativeSrc": "11268:2:4",
"nodeType": "YulLiteral",
"src": "11268:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11253:3:4",
"nodeType": "YulIdentifier",
"src": "11253:3:4"
},
"nativeSrc": "11253:18:4",
"nodeType": "YulFunctionCall",
"src": "11253:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11245:4:4",
"nodeType": "YulIdentifier",
"src": "11245:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11292:9:4",
"nodeType": "YulIdentifier",
"src": "11292:9:4"
},
{
"kind": "number",
"nativeSrc": "11303:1:4",
"nodeType": "YulLiteral",
"src": "11303:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11288:3:4",
"nodeType": "YulIdentifier",
"src": "11288:3:4"
},
"nativeSrc": "11288:17:4",
"nodeType": "YulFunctionCall",
"src": "11288:17:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "11311:4:4",
"nodeType": "YulIdentifier",
"src": "11311:4:4"
},
{
"name": "headStart",
"nativeSrc": "11317:9:4",
"nodeType": "YulIdentifier",
"src": "11317:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11307:3:4",
"nodeType": "YulIdentifier",
"src": "11307:3:4"
},
"nativeSrc": "11307:20:4",
"nodeType": "YulFunctionCall",
"src": "11307:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11281:6:4",
"nodeType": "YulIdentifier",
"src": "11281:6:4"
},
"nativeSrc": "11281:47:4",
"nodeType": "YulFunctionCall",
"src": "11281:47:4"
},
"nativeSrc": "11281:47:4",
"nodeType": "YulExpressionStatement",
"src": "11281:47:4"
},
{
"nativeSrc": "11337:94:4",
"nodeType": "YulAssignment",
"src": "11337:94:4",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "11417:6:4",
"nodeType": "YulIdentifier",
"src": "11417:6:4"
},
{
"name": "tail",
"nativeSrc": "11426:4:4",
"nodeType": "YulIdentifier",
"src": "11426:4:4"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "11345:71:4",
"nodeType": "YulIdentifier",
"src": "11345:71:4"
},
"nativeSrc": "11345:86:4",
"nodeType": "YulFunctionCall",
"src": "11345:86:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11337:4:4",
"nodeType": "YulIdentifier",
"src": "11337:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11452:9:4",
"nodeType": "YulIdentifier",
"src": "11452:9:4"
},
{
"kind": "number",
"nativeSrc": "11463:2:4",
"nodeType": "YulLiteral",
"src": "11463:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11448:3:4",
"nodeType": "YulIdentifier",
"src": "11448:3:4"
},
"nativeSrc": "11448:18:4",
"nodeType": "YulFunctionCall",
"src": "11448:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "11472:4:4",
"nodeType": "YulIdentifier",
"src": "11472:4:4"
},
{
"name": "headStart",
"nativeSrc": "11478:9:4",
"nodeType": "YulIdentifier",
"src": "11478:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11468:3:4",
"nodeType": "YulIdentifier",
"src": "11468:3:4"
},
"nativeSrc": "11468:20:4",
"nodeType": "YulFunctionCall",
"src": "11468:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11441:6:4",
"nodeType": "YulIdentifier",
"src": "11441:6:4"
},
"nativeSrc": "11441:48:4",
"nodeType": "YulFunctionCall",
"src": "11441:48:4"
},
"nativeSrc": "11441:48:4",
"nodeType": "YulExpressionStatement",
"src": "11441:48:4"
},
{
"nativeSrc": "11498:147:4",
"nodeType": "YulAssignment",
"src": "11498:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "11640:4:4",
"nodeType": "YulIdentifier",
"src": "11640:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "11506:132:4",
"nodeType": "YulIdentifier",
"src": "11506:132:4"
},
"nativeSrc": "11506:139:4",
"nodeType": "YulFunctionCall",
"src": "11506:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11498:4:4",
"nodeType": "YulIdentifier",
"src": "11498:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11666:9:4",
"nodeType": "YulIdentifier",
"src": "11666:9:4"
},
{
"kind": "number",
"nativeSrc": "11677:2:4",
"nodeType": "YulLiteral",
"src": "11677:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11662:3:4",
"nodeType": "YulIdentifier",
"src": "11662:3:4"
},
"nativeSrc": "11662:18:4",
"nodeType": "YulFunctionCall",
"src": "11662:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "11686:4:4",
"nodeType": "YulIdentifier",
"src": "11686:4:4"
},
{
"name": "headStart",
"nativeSrc": "11692:9:4",
"nodeType": "YulIdentifier",
"src": "11692:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11682:3:4",
"nodeType": "YulIdentifier",
"src": "11682:3:4"
},
"nativeSrc": "11682:20:4",
"nodeType": "YulFunctionCall",
"src": "11682:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11655:6:4",
"nodeType": "YulIdentifier",
"src": "11655:6:4"
},
"nativeSrc": "11655:48:4",
"nodeType": "YulFunctionCall",
"src": "11655:48:4"
},
"nativeSrc": "11655:48:4",
"nodeType": "YulExpressionStatement",
"src": "11655:48:4"
},
{
"nativeSrc": "11712:147:4",
"nodeType": "YulAssignment",
"src": "11712:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "11854:4:4",
"nodeType": "YulIdentifier",
"src": "11854:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "11720:132:4",
"nodeType": "YulIdentifier",
"src": "11720:132:4"
},
"nativeSrc": "11720:139:4",
"nodeType": "YulFunctionCall",
"src": "11720:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11712:4:4",
"nodeType": "YulIdentifier",
"src": "11712:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "10907:959:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "11207:9:4",
"nodeType": "YulTypedName",
"src": "11207:9:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "11219:6:4",
"nodeType": "YulTypedName",
"src": "11219:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "11230:4:4",
"nodeType": "YulTypedName",
"src": "11230:4:4",
"type": ""
}
],
"src": "10907:959:4"
},
{
"body": {
"nativeSrc": "12026:227:4",
"nodeType": "YulBlock",
"src": "12026:227:4",
"statements": [
{
"nativeSrc": "12036:81:4",
"nodeType": "YulAssignment",
"src": "12036:81:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12110:3:4",
"nodeType": "YulIdentifier",
"src": "12110:3:4"
},
{
"kind": "number",
"nativeSrc": "12115:1:4",
"nodeType": "YulLiteral",
"src": "12115:1:4",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "12043:66:4",
"nodeType": "YulIdentifier",
"src": "12043:66:4"
},
"nativeSrc": "12043:74:4",
"nodeType": "YulFunctionCall",
"src": "12043:74:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "12036:3:4",
"nodeType": "YulIdentifier",
"src": "12036:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12215:3:4",
"nodeType": "YulIdentifier",
"src": "12215:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e",
"nativeSrc": "12126:88:4",
"nodeType": "YulIdentifier",
"src": "12126:88:4"
},
"nativeSrc": "12126:93:4",
"nodeType": "YulFunctionCall",
"src": "12126:93:4"
},
"nativeSrc": "12126:93:4",
"nodeType": "YulExpressionStatement",
"src": "12126:93:4"
},
{
"nativeSrc": "12228:19:4",
"nodeType": "YulAssignment",
"src": "12228:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12239:3:4",
"nodeType": "YulIdentifier",
"src": "12239:3:4"
},
{
"kind": "number",
"nativeSrc": "12244:2:4",
"nodeType": "YulLiteral",
"src": "12244:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12235:3:4",
"nodeType": "YulIdentifier",
"src": "12235:3:4"
},
"nativeSrc": "12235:12:4",
"nodeType": "YulFunctionCall",
"src": "12235:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "12228:3:4",
"nodeType": "YulIdentifier",
"src": "12228:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "11872:381:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "12014:3:4",
"nodeType": "YulTypedName",
"src": "12014:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "12022:3:4",
"nodeType": "YulTypedName",
"src": "12022:3:4",
"type": ""
}
],
"src": "11872:381:4"
},
{
"body": {
"nativeSrc": "12365:62:4",
"nodeType": "YulBlock",
"src": "12365:62:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "12387:6:4",
"nodeType": "YulIdentifier",
"src": "12387:6:4"
},
{
"kind": "number",
"nativeSrc": "12395:1:4",
"nodeType": "YulLiteral",
"src": "12395:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12383:3:4",
"nodeType": "YulIdentifier",
"src": "12383:3:4"
},
"nativeSrc": "12383:14:4",
"nodeType": "YulFunctionCall",
"src": "12383:14:4"
},
{
"hexValue": "6e616d652073686f756c6420626520424947",
"kind": "string",
"nativeSrc": "12399:20:4",
"nodeType": "YulLiteral",
"src": "12399:20:4",
"type": "",
"value": "name should be BIG"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12376:6:4",
"nodeType": "YulIdentifier",
"src": "12376:6:4"
},
"nativeSrc": "12376:44:4",
"nodeType": "YulFunctionCall",
"src": "12376:44:4"
},
"nativeSrc": "12376:44:4",
"nodeType": "YulExpressionStatement",
"src": "12376:44:4"
}
]
},
"name": "store_literal_in_memory_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae",
"nativeSrc": "12259:168:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "12357:6:4",
"nodeType": "YulTypedName",
"src": "12357:6:4",
"type": ""
}
],
"src": "12259:168:4"
},
{
"body": {
"nativeSrc": "12587:228:4",
"nodeType": "YulBlock",
"src": "12587:228:4",
"statements": [
{
"nativeSrc": "12597:82:4",
"nodeType": "YulAssignment",
"src": "12597:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12671:3:4",
"nodeType": "YulIdentifier",
"src": "12671:3:4"
},
{
"kind": "number",
"nativeSrc": "12676:2:4",
"nodeType": "YulLiteral",
"src": "12676:2:4",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "12604:66:4",
"nodeType": "YulIdentifier",
"src": "12604:66:4"
},
"nativeSrc": "12604:75:4",
"nodeType": "YulFunctionCall",
"src": "12604:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "12597:3:4",
"nodeType": "YulIdentifier",
"src": "12597:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12777:3:4",
"nodeType": "YulIdentifier",
"src": "12777:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae",
"nativeSrc": "12688:88:4",
"nodeType": "YulIdentifier",
"src": "12688:88:4"
},
"nativeSrc": "12688:93:4",
"nodeType": "YulFunctionCall",
"src": "12688:93:4"
},
"nativeSrc": "12688:93:4",
"nodeType": "YulExpressionStatement",
"src": "12688:93:4"
},
{
"nativeSrc": "12790:19:4",
"nodeType": "YulAssignment",
"src": "12790:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12801:3:4",
"nodeType": "YulIdentifier",
"src": "12801:3:4"
},
{
"kind": "number",
"nativeSrc": "12806:2:4",
"nodeType": "YulLiteral",
"src": "12806:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12797:3:4",
"nodeType": "YulIdentifier",
"src": "12797:3:4"
},
"nativeSrc": "12797:12:4",
"nodeType": "YulFunctionCall",
"src": "12797:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "12790:3:4",
"nodeType": "YulIdentifier",
"src": "12790:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "12433:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "12575:3:4",
"nodeType": "YulTypedName",
"src": "12575:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "12583:3:4",
"nodeType": "YulTypedName",
"src": "12583:3:4",
"type": ""
}
],
"src": "12433:382:4"
},
{
"body": {
"nativeSrc": "13149:631:4",
"nodeType": "YulBlock",
"src": "13149:631:4",
"statements": [
{
"nativeSrc": "13159:26:4",
"nodeType": "YulAssignment",
"src": "13159:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "13171:9:4",
"nodeType": "YulIdentifier",
"src": "13171:9:4"
},
{
"kind": "number",
"nativeSrc": "13182:2:4",
"nodeType": "YulLiteral",
"src": "13182:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13167:3:4",
"nodeType": "YulIdentifier",
"src": "13167:3:4"
},
"nativeSrc": "13167:18:4",
"nodeType": "YulFunctionCall",
"src": "13167:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13159:4:4",
"nodeType": "YulIdentifier",
"src": "13159:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "13206:9:4",
"nodeType": "YulIdentifier",
"src": "13206:9:4"
},
{
"kind": "number",
"nativeSrc": "13217:1:4",
"nodeType": "YulLiteral",
"src": "13217:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13202:3:4",
"nodeType": "YulIdentifier",
"src": "13202:3:4"
},
"nativeSrc": "13202:17:4",
"nodeType": "YulFunctionCall",
"src": "13202:17:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "13225:4:4",
"nodeType": "YulIdentifier",
"src": "13225:4:4"
},
{
"name": "headStart",
"nativeSrc": "13231:9:4",
"nodeType": "YulIdentifier",
"src": "13231:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "13221:3:4",
"nodeType": "YulIdentifier",
"src": "13221:3:4"
},
"nativeSrc": "13221:20:4",
"nodeType": "YulFunctionCall",
"src": "13221:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13195:6:4",
"nodeType": "YulIdentifier",
"src": "13195:6:4"
},
"nativeSrc": "13195:47:4",
"nodeType": "YulFunctionCall",
"src": "13195:47:4"
},
"nativeSrc": "13195:47:4",
"nodeType": "YulExpressionStatement",
"src": "13195:47:4"
},
{
"nativeSrc": "13251:94:4",
"nodeType": "YulAssignment",
"src": "13251:94:4",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "13331:6:4",
"nodeType": "YulIdentifier",
"src": "13331:6:4"
},
{
"name": "tail",
"nativeSrc": "13340:4:4",
"nodeType": "YulIdentifier",
"src": "13340:4:4"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "13259:71:4",
"nodeType": "YulIdentifier",
"src": "13259:71:4"
},
"nativeSrc": "13259:86:4",
"nodeType": "YulFunctionCall",
"src": "13259:86:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13251:4:4",
"nodeType": "YulIdentifier",
"src": "13251:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "13366:9:4",
"nodeType": "YulIdentifier",
"src": "13366:9:4"
},
{
"kind": "number",
"nativeSrc": "13377:2:4",
"nodeType": "YulLiteral",
"src": "13377:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13362:3:4",
"nodeType": "YulIdentifier",
"src": "13362:3:4"
},
"nativeSrc": "13362:18:4",
"nodeType": "YulFunctionCall",
"src": "13362:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "13386:4:4",
"nodeType": "YulIdentifier",
"src": "13386:4:4"
},
{
"name": "headStart",
"nativeSrc": "13392:9:4",
"nodeType": "YulIdentifier",
"src": "13392:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "13382:3:4",
"nodeType": "YulIdentifier",
"src": "13382:3:4"
},
"nativeSrc": "13382:20:4",
"nodeType": "YulFunctionCall",
"src": "13382:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13355:6:4",
"nodeType": "YulIdentifier",
"src": "13355:6:4"
},
"nativeSrc": "13355:48:4",
"nodeType": "YulFunctionCall",
"src": "13355:48:4"
},
"nativeSrc": "13355:48:4",
"nodeType": "YulExpressionStatement",
"src": "13355:48:4"
},
{
"nativeSrc": "13412:147:4",
"nodeType": "YulAssignment",
"src": "13412:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "13554:4:4",
"nodeType": "YulIdentifier",
"src": "13554:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "13420:132:4",
"nodeType": "YulIdentifier",
"src": "13420:132:4"
},
"nativeSrc": "13420:139:4",
"nodeType": "YulFunctionCall",
"src": "13420:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13412:4:4",
"nodeType": "YulIdentifier",
"src": "13412:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "13580:9:4",
"nodeType": "YulIdentifier",
"src": "13580:9:4"
},
{
"kind": "number",
"nativeSrc": "13591:2:4",
"nodeType": "YulLiteral",
"src": "13591:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13576:3:4",
"nodeType": "YulIdentifier",
"src": "13576:3:4"
},
"nativeSrc": "13576:18:4",
"nodeType": "YulFunctionCall",
"src": "13576:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "13600:4:4",
"nodeType": "YulIdentifier",
"src": "13600:4:4"
},
{
"name": "headStart",
"nativeSrc": "13606:9:4",
"nodeType": "YulIdentifier",
"src": "13606:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "13596:3:4",
"nodeType": "YulIdentifier",
"src": "13596:3:4"
},
"nativeSrc": "13596:20:4",
"nodeType": "YulFunctionCall",
"src": "13596:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13569:6:4",
"nodeType": "YulIdentifier",
"src": "13569:6:4"
},
"nativeSrc": "13569:48:4",
"nodeType": "YulFunctionCall",
"src": "13569:48:4"
},
"nativeSrc": "13569:48:4",
"nodeType": "YulExpressionStatement",
"src": "13569:48:4"
},
{
"nativeSrc": "13626:147:4",
"nodeType": "YulAssignment",
"src": "13626:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "13768:4:4",
"nodeType": "YulIdentifier",
"src": "13768:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "13634:132:4",
"nodeType": "YulIdentifier",
"src": "13634:132:4"
},
"nativeSrc": "13634:139:4",
"nodeType": "YulFunctionCall",
"src": "13634:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "13626:4:4",
"nodeType": "YulIdentifier",
"src": "13626:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "12821:959:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "13121:9:4",
"nodeType": "YulTypedName",
"src": "13121:9:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "13133:6:4",
"nodeType": "YulTypedName",
"src": "13133:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "13144:4:4",
"nodeType": "YulTypedName",
"src": "13144:4:4",
"type": ""
}
],
"src": "12821:959:4"
},
{
"body": {
"nativeSrc": "13892:74:4",
"nodeType": "YulBlock",
"src": "13892:74:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "13914:6:4",
"nodeType": "YulIdentifier",
"src": "13914:6:4"
},
{
"kind": "number",
"nativeSrc": "13922:1:4",
"nodeType": "YulLiteral",
"src": "13922:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13910:3:4",
"nodeType": "YulIdentifier",
"src": "13910:3:4"
},
"nativeSrc": "13910:14:4",
"nodeType": "YulFunctionCall",
"src": "13910:14:4"
},
{
"hexValue": "746f74616c20737570706c792073686f756c642062652031303030303030",
"kind": "string",
"nativeSrc": "13926:32:4",
"nodeType": "YulLiteral",
"src": "13926:32:4",
"type": "",
"value": "total supply should be 1000000"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13903:6:4",
"nodeType": "YulIdentifier",
"src": "13903:6:4"
},
"nativeSrc": "13903:56:4",
"nodeType": "YulFunctionCall",
"src": "13903:56:4"
},
"nativeSrc": "13903:56:4",
"nodeType": "YulExpressionStatement",
"src": "13903:56:4"
}
]
},
"name": "store_literal_in_memory_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6",
"nativeSrc": "13786:180:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "13884:6:4",
"nodeType": "YulTypedName",
"src": "13884:6:4",
"type": ""
}
],
"src": "13786:180:4"
},
{
"body": {
"nativeSrc": "14126:228:4",
"nodeType": "YulBlock",
"src": "14126:228:4",
"statements": [
{
"nativeSrc": "14136:82:4",
"nodeType": "YulAssignment",
"src": "14136:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14210:3:4",
"nodeType": "YulIdentifier",
"src": "14210:3:4"
},
{
"kind": "number",
"nativeSrc": "14215:2:4",
"nodeType": "YulLiteral",
"src": "14215:2:4",
"type": "",
"value": "30"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "14143:66:4",
"nodeType": "YulIdentifier",
"src": "14143:66:4"
},
"nativeSrc": "14143:75:4",
"nodeType": "YulFunctionCall",
"src": "14143:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "14136:3:4",
"nodeType": "YulIdentifier",
"src": "14136:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14316:3:4",
"nodeType": "YulIdentifier",
"src": "14316:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6",
"nativeSrc": "14227:88:4",
"nodeType": "YulIdentifier",
"src": "14227:88:4"
},
"nativeSrc": "14227:93:4",
"nodeType": "YulFunctionCall",
"src": "14227:93:4"
},
"nativeSrc": "14227:93:4",
"nodeType": "YulExpressionStatement",
"src": "14227:93:4"
},
{
"nativeSrc": "14329:19:4",
"nodeType": "YulAssignment",
"src": "14329:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "14340:3:4",
"nodeType": "YulIdentifier",
"src": "14340:3:4"
},
{
"kind": "number",
"nativeSrc": "14345:2:4",
"nodeType": "YulLiteral",
"src": "14345:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14336:3:4",
"nodeType": "YulIdentifier",
"src": "14336:3:4"
},
"nativeSrc": "14336:12:4",
"nodeType": "YulFunctionCall",
"src": "14336:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "14329:3:4",
"nodeType": "YulIdentifier",
"src": "14329:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "13972:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "14114:3:4",
"nodeType": "YulTypedName",
"src": "14114:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "14122:3:4",
"nodeType": "YulTypedName",
"src": "14122:3:4",
"type": ""
}
],
"src": "13972:382:4"
},
{
"body": {
"nativeSrc": "14595:436:4",
"nodeType": "YulBlock",
"src": "14595:436:4",
"statements": [
{
"nativeSrc": "14605:26:4",
"nodeType": "YulAssignment",
"src": "14605:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "14617:9:4",
"nodeType": "YulIdentifier",
"src": "14617:9:4"
},
{
"kind": "number",
"nativeSrc": "14628:2:4",
"nodeType": "YulLiteral",
"src": "14628:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14613:3:4",
"nodeType": "YulIdentifier",
"src": "14613:3:4"
},
"nativeSrc": "14613:18:4",
"nodeType": "YulFunctionCall",
"src": "14613:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14605:4:4",
"nodeType": "YulIdentifier",
"src": "14605:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "14693:6:4",
"nodeType": "YulIdentifier",
"src": "14693:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14706:9:4",
"nodeType": "YulIdentifier",
"src": "14706:9:4"
},
{
"kind": "number",
"nativeSrc": "14717:1:4",
"nodeType": "YulLiteral",
"src": "14717:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14702:3:4",
"nodeType": "YulIdentifier",
"src": "14702:3:4"
},
"nativeSrc": "14702:17:4",
"nodeType": "YulFunctionCall",
"src": "14702:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "14641:51:4",
"nodeType": "YulIdentifier",
"src": "14641:51:4"
},
"nativeSrc": "14641:79:4",
"nodeType": "YulFunctionCall",
"src": "14641:79:4"
},
"nativeSrc": "14641:79:4",
"nodeType": "YulExpressionStatement",
"src": "14641:79:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "14782:6:4",
"nodeType": "YulIdentifier",
"src": "14782:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14795:9:4",
"nodeType": "YulIdentifier",
"src": "14795:9:4"
},
{
"kind": "number",
"nativeSrc": "14806:2:4",
"nodeType": "YulLiteral",
"src": "14806:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14791:3:4",
"nodeType": "YulIdentifier",
"src": "14791:3:4"
},
"nativeSrc": "14791:18:4",
"nodeType": "YulFunctionCall",
"src": "14791:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "14730:51:4",
"nodeType": "YulIdentifier",
"src": "14730:51:4"
},
"nativeSrc": "14730:80:4",
"nodeType": "YulFunctionCall",
"src": "14730:80:4"
},
"nativeSrc": "14730:80:4",
"nodeType": "YulExpressionStatement",
"src": "14730:80:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14831:9:4",
"nodeType": "YulIdentifier",
"src": "14831:9:4"
},
{
"kind": "number",
"nativeSrc": "14842:2:4",
"nodeType": "YulLiteral",
"src": "14842:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14827:3:4",
"nodeType": "YulIdentifier",
"src": "14827:3:4"
},
"nativeSrc": "14827:18:4",
"nodeType": "YulFunctionCall",
"src": "14827:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "14851:4:4",
"nodeType": "YulIdentifier",
"src": "14851:4:4"
},
{
"name": "headStart",
"nativeSrc": "14857:9:4",
"nodeType": "YulIdentifier",
"src": "14857:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "14847:3:4",
"nodeType": "YulIdentifier",
"src": "14847:3:4"
},
"nativeSrc": "14847:20:4",
"nodeType": "YulFunctionCall",
"src": "14847:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14820:6:4",
"nodeType": "YulIdentifier",
"src": "14820:6:4"
},
"nativeSrc": "14820:48:4",
"nodeType": "YulFunctionCall",
"src": "14820:48:4"
},
"nativeSrc": "14820:48:4",
"nodeType": "YulExpressionStatement",
"src": "14820:48:4"
},
{
"nativeSrc": "14877:147:4",
"nodeType": "YulAssignment",
"src": "14877:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "15019:4:4",
"nodeType": "YulIdentifier",
"src": "15019:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "14885:132:4",
"nodeType": "YulIdentifier",
"src": "14885:132:4"
},
"nativeSrc": "14885:139:4",
"nodeType": "YulFunctionCall",
"src": "14885:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14877:4:4",
"nodeType": "YulIdentifier",
"src": "14877:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "14360:671:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "14559:9:4",
"nodeType": "YulTypedName",
"src": "14559:9:4",
"type": ""
},
{
"name": "value1",
"nativeSrc": "14571:6:4",
"nodeType": "YulTypedName",
"src": "14571:6:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "14579:6:4",
"nodeType": "YulTypedName",
"src": "14579:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "14590:4:4",
"nodeType": "YulTypedName",
"src": "14590:4:4",
"type": ""
}
],
"src": "14360:671:4"
},
{
"body": {
"nativeSrc": "15090:32:4",
"nodeType": "YulBlock",
"src": "15090:32:4",
"statements": [
{
"nativeSrc": "15100:16:4",
"nodeType": "YulAssignment",
"src": "15100:16:4",
"value": {
"name": "value",
"nativeSrc": "15111:5:4",
"nodeType": "YulIdentifier",
"src": "15111:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "15100:7:4",
"nodeType": "YulIdentifier",
"src": "15100:7:4"
}
]
}
]
},
"name": "cleanup_t_rational_0_by_1",
"nativeSrc": "15037:85:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "15072:5:4",
"nodeType": "YulTypedName",
"src": "15072:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "15082:7:4",
"nodeType": "YulTypedName",
"src": "15082:7:4",
"type": ""
}
],
"src": "15037:85:4"
},
{
"body": {
"nativeSrc": "15196:90:4",
"nodeType": "YulBlock",
"src": "15196:90:4",
"statements": [
{
"nativeSrc": "15206:74:4",
"nodeType": "YulAssignment",
"src": "15206:74:4",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "15272:5:4",
"nodeType": "YulIdentifier",
"src": "15272:5:4"
}
],
"functionName": {
"name": "cleanup_t_rational_0_by_1",
"nativeSrc": "15246:25:4",
"nodeType": "YulIdentifier",
"src": "15246:25:4"
},
"nativeSrc": "15246:32:4",
"nodeType": "YulFunctionCall",
"src": "15246:32:4"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "15237:8:4",
"nodeType": "YulIdentifier",
"src": "15237:8:4"
},
"nativeSrc": "15237:42:4",
"nodeType": "YulFunctionCall",
"src": "15237:42:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "15219:17:4",
"nodeType": "YulIdentifier",
"src": "15219:17:4"
},
"nativeSrc": "15219:61:4",
"nodeType": "YulFunctionCall",
"src": "15219:61:4"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "15206:9:4",
"nodeType": "YulIdentifier",
"src": "15206:9:4"
}
]
}
]
},
"name": "convert_t_rational_0_by_1_to_t_uint256",
"nativeSrc": "15128:158:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "15176:5:4",
"nodeType": "YulTypedName",
"src": "15176:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "15186:9:4",
"nodeType": "YulTypedName",
"src": "15186:9:4",
"type": ""
}
],
"src": "15128:158:4"
},
{
"body": {
"nativeSrc": "15373:74:4",
"nodeType": "YulBlock",
"src": "15373:74:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15390:3:4",
"nodeType": "YulIdentifier",
"src": "15390:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "15434:5:4",
"nodeType": "YulIdentifier",
"src": "15434:5:4"
}
],
"functionName": {
"name": "convert_t_rational_0_by_1_to_t_uint256",
"nativeSrc": "15395:38:4",
"nodeType": "YulIdentifier",
"src": "15395:38:4"
},
"nativeSrc": "15395:45:4",
"nodeType": "YulFunctionCall",
"src": "15395:45:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15383:6:4",
"nodeType": "YulIdentifier",
"src": "15383:6:4"
},
"nativeSrc": "15383:58:4",
"nodeType": "YulFunctionCall",
"src": "15383:58:4"
},
"nativeSrc": "15383:58:4",
"nodeType": "YulExpressionStatement",
"src": "15383:58:4"
}
]
},
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack_library",
"nativeSrc": "15292:155:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "15361:5:4",
"nodeType": "YulTypedName",
"src": "15361:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "15368:3:4",
"nodeType": "YulTypedName",
"src": "15368:3:4",
"type": ""
}
],
"src": "15292:155:4"
},
{
"body": {
"nativeSrc": "15559:67:4",
"nodeType": "YulBlock",
"src": "15559:67:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "15581:6:4",
"nodeType": "YulIdentifier",
"src": "15581:6:4"
},
{
"kind": "number",
"nativeSrc": "15589:1:4",
"nodeType": "YulLiteral",
"src": "15589:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15577:3:4",
"nodeType": "YulIdentifier",
"src": "15577:3:4"
},
"nativeSrc": "15577:14:4",
"nodeType": "YulFunctionCall",
"src": "15577:14:4"
},
{
"hexValue": "696e76616c696420696e697469616c2062616c616e6365",
"kind": "string",
"nativeSrc": "15593:25:4",
"nodeType": "YulLiteral",
"src": "15593:25:4",
"type": "",
"value": "invalid initial balance"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15570:6:4",
"nodeType": "YulIdentifier",
"src": "15570:6:4"
},
"nativeSrc": "15570:49:4",
"nodeType": "YulFunctionCall",
"src": "15570:49:4"
},
"nativeSrc": "15570:49:4",
"nodeType": "YulExpressionStatement",
"src": "15570:49:4"
}
]
},
"name": "store_literal_in_memory_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04",
"nativeSrc": "15453:173:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "15551:6:4",
"nodeType": "YulTypedName",
"src": "15551:6:4",
"type": ""
}
],
"src": "15453:173:4"
},
{
"body": {
"nativeSrc": "15786:228:4",
"nodeType": "YulBlock",
"src": "15786:228:4",
"statements": [
{
"nativeSrc": "15796:82:4",
"nodeType": "YulAssignment",
"src": "15796:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15870:3:4",
"nodeType": "YulIdentifier",
"src": "15870:3:4"
},
{
"kind": "number",
"nativeSrc": "15875:2:4",
"nodeType": "YulLiteral",
"src": "15875:2:4",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "15803:66:4",
"nodeType": "YulIdentifier",
"src": "15803:66:4"
},
"nativeSrc": "15803:75:4",
"nodeType": "YulFunctionCall",
"src": "15803:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "15796:3:4",
"nodeType": "YulIdentifier",
"src": "15796:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15976:3:4",
"nodeType": "YulIdentifier",
"src": "15976:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04",
"nativeSrc": "15887:88:4",
"nodeType": "YulIdentifier",
"src": "15887:88:4"
},
"nativeSrc": "15887:93:4",
"nodeType": "YulFunctionCall",
"src": "15887:93:4"
},
"nativeSrc": "15887:93:4",
"nodeType": "YulExpressionStatement",
"src": "15887:93:4"
},
{
"nativeSrc": "15989:19:4",
"nodeType": "YulAssignment",
"src": "15989:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16000:3:4",
"nodeType": "YulIdentifier",
"src": "16000:3:4"
},
{
"kind": "number",
"nativeSrc": "16005:2:4",
"nodeType": "YulLiteral",
"src": "16005:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15996:3:4",
"nodeType": "YulIdentifier",
"src": "15996:3:4"
},
"nativeSrc": "15996:12:4",
"nodeType": "YulFunctionCall",
"src": "15996:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "15989:3:4",
"nodeType": "YulIdentifier",
"src": "15989:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "15632:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "15774:3:4",
"nodeType": "YulTypedName",
"src": "15774:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "15782:3:4",
"nodeType": "YulTypedName",
"src": "15782:3:4",
"type": ""
}
],
"src": "15632:382:4"
},
{
"body": {
"nativeSrc": "16263:444:4",
"nodeType": "YulBlock",
"src": "16263:444:4",
"statements": [
{
"nativeSrc": "16273:26:4",
"nodeType": "YulAssignment",
"src": "16273:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "16285:9:4",
"nodeType": "YulIdentifier",
"src": "16285:9:4"
},
{
"kind": "number",
"nativeSrc": "16296:2:4",
"nodeType": "YulLiteral",
"src": "16296:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16281:3:4",
"nodeType": "YulIdentifier",
"src": "16281:3:4"
},
"nativeSrc": "16281:18:4",
"nodeType": "YulFunctionCall",
"src": "16281:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "16273:4:4",
"nodeType": "YulIdentifier",
"src": "16273:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "16361:6:4",
"nodeType": "YulIdentifier",
"src": "16361:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16374:9:4",
"nodeType": "YulIdentifier",
"src": "16374:9:4"
},
{
"kind": "number",
"nativeSrc": "16385:1:4",
"nodeType": "YulLiteral",
"src": "16385:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16370:3:4",
"nodeType": "YulIdentifier",
"src": "16370:3:4"
},
"nativeSrc": "16370:17:4",
"nodeType": "YulFunctionCall",
"src": "16370:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "16309:51:4",
"nodeType": "YulIdentifier",
"src": "16309:51:4"
},
"nativeSrc": "16309:79:4",
"nodeType": "YulFunctionCall",
"src": "16309:79:4"
},
"nativeSrc": "16309:79:4",
"nodeType": "YulExpressionStatement",
"src": "16309:79:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "16458:6:4",
"nodeType": "YulIdentifier",
"src": "16458:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16471:9:4",
"nodeType": "YulIdentifier",
"src": "16471:9:4"
},
{
"kind": "number",
"nativeSrc": "16482:2:4",
"nodeType": "YulLiteral",
"src": "16482:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16467:3:4",
"nodeType": "YulIdentifier",
"src": "16467:3:4"
},
"nativeSrc": "16467:18:4",
"nodeType": "YulFunctionCall",
"src": "16467:18:4"
}
],
"functionName": {
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack_library",
"nativeSrc": "16398:59:4",
"nodeType": "YulIdentifier",
"src": "16398:59:4"
},
"nativeSrc": "16398:88:4",
"nodeType": "YulFunctionCall",
"src": "16398:88:4"
},
"nativeSrc": "16398:88:4",
"nodeType": "YulExpressionStatement",
"src": "16398:88:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16507:9:4",
"nodeType": "YulIdentifier",
"src": "16507:9:4"
},
{
"kind": "number",
"nativeSrc": "16518:2:4",
"nodeType": "YulLiteral",
"src": "16518:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16503:3:4",
"nodeType": "YulIdentifier",
"src": "16503:3:4"
},
"nativeSrc": "16503:18:4",
"nodeType": "YulFunctionCall",
"src": "16503:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "16527:4:4",
"nodeType": "YulIdentifier",
"src": "16527:4:4"
},
{
"name": "headStart",
"nativeSrc": "16533:9:4",
"nodeType": "YulIdentifier",
"src": "16533:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "16523:3:4",
"nodeType": "YulIdentifier",
"src": "16523:3:4"
},
"nativeSrc": "16523:20:4",
"nodeType": "YulFunctionCall",
"src": "16523:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "16496:6:4",
"nodeType": "YulIdentifier",
"src": "16496:6:4"
},
"nativeSrc": "16496:48:4",
"nodeType": "YulFunctionCall",
"src": "16496:48:4"
},
"nativeSrc": "16496:48:4",
"nodeType": "YulExpressionStatement",
"src": "16496:48:4"
},
{
"nativeSrc": "16553:147:4",
"nodeType": "YulAssignment",
"src": "16553:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "16695:4:4",
"nodeType": "YulIdentifier",
"src": "16695:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "16561:132:4",
"nodeType": "YulIdentifier",
"src": "16561:132:4"
},
"nativeSrc": "16561:139:4",
"nodeType": "YulFunctionCall",
"src": "16561:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "16553:4:4",
"nodeType": "YulIdentifier",
"src": "16553:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_rational_0_by_1_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "16020:687:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "16227:9:4",
"nodeType": "YulTypedName",
"src": "16227:9:4",
"type": ""
},
{
"name": "value1",
"nativeSrc": "16239:6:4",
"nodeType": "YulTypedName",
"src": "16239:6:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "16247:6:4",
"nodeType": "YulTypedName",
"src": "16247:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "16258:4:4",
"nodeType": "YulTypedName",
"src": "16258:4:4",
"type": ""
}
],
"src": "16020:687:4"
},
{
"body": {
"nativeSrc": "16767:32:4",
"nodeType": "YulBlock",
"src": "16767:32:4",
"statements": [
{
"nativeSrc": "16777:16:4",
"nodeType": "YulAssignment",
"src": "16777:16:4",
"value": {
"name": "value",
"nativeSrc": "16788:5:4",
"nodeType": "YulIdentifier",
"src": "16788:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "16777:7:4",
"nodeType": "YulIdentifier",
"src": "16777:7:4"
}
]
}
]
},
"name": "cleanup_t_rational_10_by_1",
"nativeSrc": "16713:86:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "16749:5:4",
"nodeType": "YulTypedName",
"src": "16749:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "16759:7:4",
"nodeType": "YulTypedName",
"src": "16759:7:4",
"type": ""
}
],
"src": "16713:86:4"
},
{
"body": {
"nativeSrc": "16874:91:4",
"nodeType": "YulBlock",
"src": "16874:91:4",
"statements": [
{
"nativeSrc": "16884:75:4",
"nodeType": "YulAssignment",
"src": "16884:75:4",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "16951:5:4",
"nodeType": "YulIdentifier",
"src": "16951:5:4"
}
],
"functionName": {
"name": "cleanup_t_rational_10_by_1",
"nativeSrc": "16924:26:4",
"nodeType": "YulIdentifier",
"src": "16924:26:4"
},
"nativeSrc": "16924:33:4",
"nodeType": "YulFunctionCall",
"src": "16924:33:4"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "16915:8:4",
"nodeType": "YulIdentifier",
"src": "16915:8:4"
},
"nativeSrc": "16915:43:4",
"nodeType": "YulFunctionCall",
"src": "16915:43:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "16897:17:4",
"nodeType": "YulIdentifier",
"src": "16897:17:4"
},
"nativeSrc": "16897:62:4",
"nodeType": "YulFunctionCall",
"src": "16897:62:4"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "16884:9:4",
"nodeType": "YulIdentifier",
"src": "16884:9:4"
}
]
}
]
},
"name": "convert_t_rational_10_by_1_to_t_uint256",
"nativeSrc": "16805:160:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "16854:5:4",
"nodeType": "YulTypedName",
"src": "16854:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "16864:9:4",
"nodeType": "YulTypedName",
"src": "16864:9:4",
"type": ""
}
],
"src": "16805:160:4"
},
{
"body": {
"nativeSrc": "17045:75:4",
"nodeType": "YulBlock",
"src": "17045:75:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "17062:3:4",
"nodeType": "YulIdentifier",
"src": "17062:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "17107:5:4",
"nodeType": "YulIdentifier",
"src": "17107:5:4"
}
],
"functionName": {
"name": "convert_t_rational_10_by_1_to_t_uint256",
"nativeSrc": "17067:39:4",
"nodeType": "YulIdentifier",
"src": "17067:39:4"
},
"nativeSrc": "17067:46:4",
"nodeType": "YulFunctionCall",
"src": "17067:46:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17055:6:4",
"nodeType": "YulIdentifier",
"src": "17055:6:4"
},
"nativeSrc": "17055:59:4",
"nodeType": "YulFunctionCall",
"src": "17055:59:4"
},
"nativeSrc": "17055:59:4",
"nodeType": "YulExpressionStatement",
"src": "17055:59:4"
}
]
},
"name": "abi_encode_t_rational_10_by_1_to_t_uint256_fromStack",
"nativeSrc": "16971:149:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17033:5:4",
"nodeType": "YulTypedName",
"src": "17033:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "17040:3:4",
"nodeType": "YulTypedName",
"src": "17040:3:4",
"type": ""
}
],
"src": "16971:149:4"
},
{
"body": {
"nativeSrc": "17261:215:4",
"nodeType": "YulBlock",
"src": "17261:215:4",
"statements": [
{
"nativeSrc": "17271:26:4",
"nodeType": "YulAssignment",
"src": "17271:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "17283:9:4",
"nodeType": "YulIdentifier",
"src": "17283:9:4"
},
{
"kind": "number",
"nativeSrc": "17294:2:4",
"nodeType": "YulLiteral",
"src": "17294:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17279:3:4",
"nodeType": "YulIdentifier",
"src": "17279:3:4"
},
"nativeSrc": "17279:18:4",
"nodeType": "YulFunctionCall",
"src": "17279:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "17271:4:4",
"nodeType": "YulIdentifier",
"src": "17271:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "17351:6:4",
"nodeType": "YulIdentifier",
"src": "17351:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "17364:9:4",
"nodeType": "YulIdentifier",
"src": "17364:9:4"
},
{
"kind": "number",
"nativeSrc": "17375:1:4",
"nodeType": "YulLiteral",
"src": "17375:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17360:3:4",
"nodeType": "YulIdentifier",
"src": "17360:3:4"
},
"nativeSrc": "17360:17:4",
"nodeType": "YulFunctionCall",
"src": "17360:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "17307:43:4",
"nodeType": "YulIdentifier",
"src": "17307:43:4"
},
"nativeSrc": "17307:71:4",
"nodeType": "YulFunctionCall",
"src": "17307:71:4"
},
"nativeSrc": "17307:71:4",
"nodeType": "YulExpressionStatement",
"src": "17307:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "17441:6:4",
"nodeType": "YulIdentifier",
"src": "17441:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "17454:9:4",
"nodeType": "YulIdentifier",
"src": "17454:9:4"
},
{
"kind": "number",
"nativeSrc": "17465:2:4",
"nodeType": "YulLiteral",
"src": "17465:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17450:3:4",
"nodeType": "YulIdentifier",
"src": "17450:3:4"
},
"nativeSrc": "17450:18:4",
"nodeType": "YulFunctionCall",
"src": "17450:18:4"
}
],
"functionName": {
"name": "abi_encode_t_rational_10_by_1_to_t_uint256_fromStack",
"nativeSrc": "17388:52:4",
"nodeType": "YulIdentifier",
"src": "17388:52:4"
},
"nativeSrc": "17388:81:4",
"nodeType": "YulFunctionCall",
"src": "17388:81:4"
},
"nativeSrc": "17388:81:4",
"nodeType": "YulExpressionStatement",
"src": "17388:81:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_rational_10_by_1__to_t_address_t_uint256__fromStack_reversed",
"nativeSrc": "17126:350:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "17225:9:4",
"nodeType": "YulTypedName",
"src": "17225:9:4",
"type": ""
},
{
"name": "value1",
"nativeSrc": "17237:6:4",
"nodeType": "YulTypedName",
"src": "17237:6:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "17245:6:4",
"nodeType": "YulTypedName",
"src": "17245:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "17256:4:4",
"nodeType": "YulTypedName",
"src": "17256:4:4",
"type": ""
}
],
"src": "17126:350:4"
},
{
"body": {
"nativeSrc": "17564:75:4",
"nodeType": "YulBlock",
"src": "17564:75:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "17581:3:4",
"nodeType": "YulIdentifier",
"src": "17581:3:4"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "17626:5:4",
"nodeType": "YulIdentifier",
"src": "17626:5:4"
}
],
"functionName": {
"name": "convert_t_rational_10_by_1_to_t_uint256",
"nativeSrc": "17586:39:4",
"nodeType": "YulIdentifier",
"src": "17586:39:4"
},
"nativeSrc": "17586:46:4",
"nodeType": "YulFunctionCall",
"src": "17586:46:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17574:6:4",
"nodeType": "YulIdentifier",
"src": "17574:6:4"
},
"nativeSrc": "17574:59:4",
"nodeType": "YulFunctionCall",
"src": "17574:59:4"
},
"nativeSrc": "17574:59:4",
"nodeType": "YulExpressionStatement",
"src": "17574:59:4"
}
]
},
"name": "abi_encode_t_rational_10_by_1_to_t_uint256_fromStack_library",
"nativeSrc": "17482:157:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "17552:5:4",
"nodeType": "YulTypedName",
"src": "17552:5:4",
"type": ""
},
{
"name": "pos",
"nativeSrc": "17559:3:4",
"nodeType": "YulTypedName",
"src": "17559:3:4",
"type": ""
}
],
"src": "17482:157:4"
},
{
"body": {
"nativeSrc": "17751:65:4",
"nodeType": "YulBlock",
"src": "17751:65:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "17773:6:4",
"nodeType": "YulIdentifier",
"src": "17773:6:4"
},
{
"kind": "number",
"nativeSrc": "17781:1:4",
"nodeType": "YulLiteral",
"src": "17781:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17769:3:4",
"nodeType": "YulIdentifier",
"src": "17769:3:4"
},
"nativeSrc": "17769:14:4",
"nodeType": "YulFunctionCall",
"src": "17769:14:4"
},
{
"hexValue": "696e76616c69642066696e616c2062616c616e6365",
"kind": "string",
"nativeSrc": "17785:23:4",
"nodeType": "YulLiteral",
"src": "17785:23:4",
"type": "",
"value": "invalid final balance"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17762:6:4",
"nodeType": "YulIdentifier",
"src": "17762:6:4"
},
"nativeSrc": "17762:47:4",
"nodeType": "YulFunctionCall",
"src": "17762:47:4"
},
"nativeSrc": "17762:47:4",
"nodeType": "YulExpressionStatement",
"src": "17762:47:4"
}
]
},
"name": "store_literal_in_memory_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd",
"nativeSrc": "17645:171:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "17743:6:4",
"nodeType": "YulTypedName",
"src": "17743:6:4",
"type": ""
}
],
"src": "17645:171:4"
},
{
"body": {
"nativeSrc": "17976:228:4",
"nodeType": "YulBlock",
"src": "17976:228:4",
"statements": [
{
"nativeSrc": "17986:82:4",
"nodeType": "YulAssignment",
"src": "17986:82:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18060:3:4",
"nodeType": "YulIdentifier",
"src": "18060:3:4"
},
{
"kind": "number",
"nativeSrc": "18065:2:4",
"nodeType": "YulLiteral",
"src": "18065:2:4",
"type": "",
"value": "21"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library",
"nativeSrc": "17993:66:4",
"nodeType": "YulIdentifier",
"src": "17993:66:4"
},
"nativeSrc": "17993:75:4",
"nodeType": "YulFunctionCall",
"src": "17993:75:4"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "17986:3:4",
"nodeType": "YulIdentifier",
"src": "17986:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18166:3:4",
"nodeType": "YulIdentifier",
"src": "18166:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd",
"nativeSrc": "18077:88:4",
"nodeType": "YulIdentifier",
"src": "18077:88:4"
},
"nativeSrc": "18077:93:4",
"nodeType": "YulFunctionCall",
"src": "18077:93:4"
},
"nativeSrc": "18077:93:4",
"nodeType": "YulExpressionStatement",
"src": "18077:93:4"
},
{
"nativeSrc": "18179:19:4",
"nodeType": "YulAssignment",
"src": "18179:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18190:3:4",
"nodeType": "YulIdentifier",
"src": "18190:3:4"
},
{
"kind": "number",
"nativeSrc": "18195:2:4",
"nodeType": "YulLiteral",
"src": "18195:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18186:3:4",
"nodeType": "YulIdentifier",
"src": "18186:3:4"
},
"nativeSrc": "18186:12:4",
"nodeType": "YulFunctionCall",
"src": "18186:12:4"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "18179:3:4",
"nodeType": "YulIdentifier",
"src": "18179:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "17822:382:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "17964:3:4",
"nodeType": "YulTypedName",
"src": "17964:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "17972:3:4",
"nodeType": "YulTypedName",
"src": "17972:3:4",
"type": ""
}
],
"src": "17822:382:4"
},
{
"body": {
"nativeSrc": "18454:445:4",
"nodeType": "YulBlock",
"src": "18454:445:4",
"statements": [
{
"nativeSrc": "18464:26:4",
"nodeType": "YulAssignment",
"src": "18464:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "18476:9:4",
"nodeType": "YulIdentifier",
"src": "18476:9:4"
},
{
"kind": "number",
"nativeSrc": "18487:2:4",
"nodeType": "YulLiteral",
"src": "18487:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18472:3:4",
"nodeType": "YulIdentifier",
"src": "18472:3:4"
},
"nativeSrc": "18472:18:4",
"nodeType": "YulFunctionCall",
"src": "18472:18:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "18464:4:4",
"nodeType": "YulIdentifier",
"src": "18464:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "18552:6:4",
"nodeType": "YulIdentifier",
"src": "18552:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18565:9:4",
"nodeType": "YulIdentifier",
"src": "18565:9:4"
},
{
"kind": "number",
"nativeSrc": "18576:1:4",
"nodeType": "YulLiteral",
"src": "18576:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18561:3:4",
"nodeType": "YulIdentifier",
"src": "18561:3:4"
},
"nativeSrc": "18561:17:4",
"nodeType": "YulFunctionCall",
"src": "18561:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
"nativeSrc": "18500:51:4",
"nodeType": "YulIdentifier",
"src": "18500:51:4"
},
"nativeSrc": "18500:79:4",
"nodeType": "YulFunctionCall",
"src": "18500:79:4"
},
"nativeSrc": "18500:79:4",
"nodeType": "YulExpressionStatement",
"src": "18500:79:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "18650:6:4",
"nodeType": "YulIdentifier",
"src": "18650:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18663:9:4",
"nodeType": "YulIdentifier",
"src": "18663:9:4"
},
{
"kind": "number",
"nativeSrc": "18674:2:4",
"nodeType": "YulLiteral",
"src": "18674:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18659:3:4",
"nodeType": "YulIdentifier",
"src": "18659:3:4"
},
"nativeSrc": "18659:18:4",
"nodeType": "YulFunctionCall",
"src": "18659:18:4"
}
],
"functionName": {
"name": "abi_encode_t_rational_10_by_1_to_t_uint256_fromStack_library",
"nativeSrc": "18589:60:4",
"nodeType": "YulIdentifier",
"src": "18589:60:4"
},
"nativeSrc": "18589:89:4",
"nodeType": "YulFunctionCall",
"src": "18589:89:4"
},
"nativeSrc": "18589:89:4",
"nodeType": "YulExpressionStatement",
"src": "18589:89:4"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18699:9:4",
"nodeType": "YulIdentifier",
"src": "18699:9:4"
},
{
"kind": "number",
"nativeSrc": "18710:2:4",
"nodeType": "YulLiteral",
"src": "18710:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18695:3:4",
"nodeType": "YulIdentifier",
"src": "18695:3:4"
},
"nativeSrc": "18695:18:4",
"nodeType": "YulFunctionCall",
"src": "18695:18:4"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "18719:4:4",
"nodeType": "YulIdentifier",
"src": "18719:4:4"
},
{
"name": "headStart",
"nativeSrc": "18725:9:4",
"nodeType": "YulIdentifier",
"src": "18725:9:4"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "18715:3:4",
"nodeType": "YulIdentifier",
"src": "18715:3:4"
},
"nativeSrc": "18715:20:4",
"nodeType": "YulFunctionCall",
"src": "18715:20:4"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "18688:6:4",
"nodeType": "YulIdentifier",
"src": "18688:6:4"
},
"nativeSrc": "18688:48:4",
"nodeType": "YulFunctionCall",
"src": "18688:48:4"
},
"nativeSrc": "18688:48:4",
"nodeType": "YulExpressionStatement",
"src": "18688:48:4"
},
{
"nativeSrc": "18745:147:4",
"nodeType": "YulAssignment",
"src": "18745:147:4",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "18887:4:4",
"nodeType": "YulIdentifier",
"src": "18887:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd_to_t_string_memory_ptr_fromStack_library",
"nativeSrc": "18753:132:4",
"nodeType": "YulIdentifier",
"src": "18753:132:4"
},
"nativeSrc": "18753:139:4",
"nodeType": "YulFunctionCall",
"src": "18753:139:4"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "18745:4:4",
"nodeType": "YulIdentifier",
"src": "18745:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_rational_10_by_1_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed",
"nativeSrc": "18210:689:4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "18418:9:4",
"nodeType": "YulTypedName",
"src": "18418:9:4",
"type": ""
},
{
"name": "value1",
"nativeSrc": "18430:6:4",
"nodeType": "YulTypedName",
"src": "18430:6:4",
"type": ""
},
{
"name": "value0",
"nativeSrc": "18438:6:4",
"nodeType": "YulTypedName",
"src": "18438:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "18449:4:4",
"nodeType": "YulTypedName",
"src": "18449:4:4",
"type": ""
}
],
"src": "18210:689:4"
}
]
},
"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 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b(memPtr) {\n\n mstore(add(memPtr, 0), \"balance of owner should be equal\")\n\n mstore(add(memPtr, 32), \" to total supply\")\n\n }\n\n function abi_encode_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 48)\n store_literal_in_memory_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d9f301d84d919ae3ed9f39fa43e1688ec47a1bf8dab45f511c32739f7018ad1b_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(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_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d(memPtr) {\n\n mstore(add(memPtr, 0), \"BIGO\")\n\n }\n\n function abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 4)\n store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d(pos)\n end := add(pos, 32)\n }\n\n function store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e(memPtr) {\n\n mstore(add(memPtr, 0), \"BIG\")\n\n }\n\n function abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 3)\n store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e(pos)\n end := add(pos, 32)\n }\n\n function cleanup_t_rational_1000000_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_1000000_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_1000000_by_1(value)))\n }\n\n function abi_encode_t_rational_1000000_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_1000000_by_1_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_rational_1000000_by_1__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_rational_1000000_by_1_to_t_uint256_fromStack(value0, add(headStart, 64))\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_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_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(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_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 4)\n store_literal_in_memory_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d(pos)\n end := add(pos, 32)\n }\n\n function store_literal_in_memory_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980(memPtr) {\n\n mstore(add(memPtr, 0), \"name should be BIGO\")\n\n }\n\n function abi_encode_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 19)\n store_literal_in_memory_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_91f49d36888e02a75a034ed278c2253589a6c1c8aa697d1b2d2d9ec526e1e86d_to_t_string_memory_ptr_fromStack_library( tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5a7047b1cea3728f620d106a1049a1270bfa706d1456902226d1e36fc9058980_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 3)\n store_literal_in_memory_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e(pos)\n end := add(pos, 32)\n }\n\n function store_literal_in_memory_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae(memPtr) {\n\n mstore(add(memPtr, 0), \"name should be BIG\")\n\n }\n\n function abi_encode_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 18)\n store_literal_in_memory_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack_library(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_06c6b2b3ef13e97e41c1c7e6abe61f9dcb99c00f7102867316110d9faf54088e_to_t_string_memory_ptr_fromStack_library( tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5869028c483363e79eff96b1aac9dc4a6da66792055b5c3e0c96f574b71050ae_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function store_literal_in_memory_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6(memPtr) {\n\n mstore(add(memPtr, 0), \"total supply should be 1000000\")\n\n }\n\n function abi_encode_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 30)\n store_literal_in_memory_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_df03acf37628866a4bea682b457f22a99ab7dbfc407694f3af8a636a3150d3d6_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function cleanup_t_rational_0_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_rational_0_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_0_by_1(value)))\n }\n\n function abi_encode_t_rational_0_by_1_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, convert_t_rational_0_by_1_to_t_uint256(value))\n }\n\n function store_literal_in_memory_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid initial balance\")\n\n }\n\n function abi_encode_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 23)\n store_literal_in_memory_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_uint256_t_rational_0_by_1_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_rational_0_by_1_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc387a5d0b4e3be8ec8ee137f5fe2cdbec17fd76af2649e1689b9584516f3d04_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n function cleanup_t_rational_10_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_rational_10_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_10_by_1(value)))\n }\n\n function abi_encode_t_rational_10_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_10_by_1_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_rational_10_by_1__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_rational_10_by_1_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_t_rational_10_by_1_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, convert_t_rational_10_by_1_to_t_uint256(value))\n }\n\n function store_literal_in_memory_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid final balance\")\n\n }\n\n function abi_encode_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd_to_t_string_memory_ptr_fromStack_library(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack_library(pos, 21)\n store_literal_in_memory_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_uint256_t_rational_10_by_1_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_rational_10_by_1_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e27f547c90d02dab9cb5711c9d5e5bb2ecd9d614158cf93ba31606b92edd4bd_to_t_string_memory_ptr_fromStack_library( tail)\n\n }\n\n}\n",
"id": 4,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {
"remix_tests.sol": {
"Assert": [
{
"length": 20,
"start": 327
},
{
"length": 20,
"start": 783
},
{
"length": 20,
"start": 1052
},
{
"length": 20,
"start": 1321
},
{
"length": 20,
"start": 1599
},
{
"length": 20,
"start": 2041
}
]
}
},
"object": "608060405234801562000010575f80fd5b506004361062000050575f3560e01c8063586c0b4214620000545780637fea0d4b1462000060578063944c410b146200006c5780639c45706d1462000078575b5f80fd5b6200005e62000084565b005b6200006a62000254565b005b620000766200030d565b005b6200008262000638565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000101919062000965565b602060405180830381865afa1580156200011d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001439190620009c9565b905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd7960825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ef9190620009c9565b6040518363ffffffff1660e01b81526004016200020e92919062000a8e565b602060405180830381865af41580156200022a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000250919062000b08565b5050565b620f4240604051620002669062000914565b62000272919062000c2e565b604051809103905ff0801580156200028c573d5f803e3d5ffd5b505f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b73__$acbfb1c35000d78352310b16a054a6b106$__63e8c2cb165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200038f573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620003b9919062000de7565b6040518263ffffffff1660e01b8152600401620003d7919062000ef4565b602060405180830381865af4158015620003f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000419919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63e8c2cb165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200049c573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620004c6919062000de7565b6040518263ffffffff1660e01b8152600401620004e4919062000fb4565b602060405180830381865af415801562000500573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000526919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005d09190620009c9565b620f42406040518363ffffffff1660e01b8152600401620005f39291906200104e565b602060405180830381865af41580156200060f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000635919062000b08565b50565b5f6001905073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401620006b1919062000965565b602060405180830381865afa158015620006cd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006f39190620009c9565b5f6040518363ffffffff1660e01b8152600401620007139291906200111d565b602060405180830381865af41580156200072f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000755919062000b08565b505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82600a6040518363ffffffff1660e01b8152600401620007b39291906200119e565b6020604051808303815f875af1158015620007d0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007f6919062000b08565b5073__$acbfb1c35000d78352310b16a054a6b106$__63abcd79605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016200086b919062000965565b602060405180830381865afa15801562000887573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620008ad9190620009c9565b600a6040518363ffffffff1660e01b8152600401620008ce92919062001228565b602060405180830381865af4158015620008ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000910919062000b08565b5050565b611772806200126983390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200094d8262000922565b9050919050565b6200095f8162000941565b82525050565b5f6020820190506200097a5f83018462000954565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b620009a58162000991565b8114620009b0575f80fd5b50565b5f81519050620009c3816200099a565b92915050565b5f60208284031215620009e157620009e062000989565b5b5f620009f084828501620009b3565b91505092915050565b62000a048162000991565b82525050565b5f82825260208201905092915050565b7f62616c616e6365206f66206f776e65722073686f756c6420626520657175616c5f8201527f20746f20746f74616c20737570706c7900000000000000000000000000000000602082015250565b5f62000a7660308362000a0a565b915062000a838262000a1a565b604082019050919050565b5f60608201905062000aa35f830185620009f9565b62000ab26020830184620009f9565b818103604083015262000ac58162000a68565b90509392505050565b5f8115159050919050565b62000ae48162000ace565b811462000aef575f80fd5b50565b5f8151905062000b028162000ad9565b92915050565b5f6020828403121562000b205762000b1f62000989565b5b5f62000b2f8482850162000af2565b91505092915050565b5f82825260208201905092915050565b7f4249474f000000000000000000000000000000000000000000000000000000005f82015250565b5f62000b7e60048362000b38565b915062000b8b8262000b48565b602082019050919050565b7f42494700000000000000000000000000000000000000000000000000000000005f82015250565b5f62000bcc60038362000b38565b915062000bd98262000b96565b602082019050919050565b5f819050919050565b5f819050919050565b5f62000c1662000c1062000c0a8462000be4565b62000bed565b62000991565b9050919050565b62000c288162000bf6565b82525050565b5f6060820190508181035f83015262000c478162000b70565b9050818103602083015262000c5c8162000bbe565b905062000c6d604083018462000c1d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000cc38262000c7b565b810181811067ffffffffffffffff8211171562000ce55762000ce462000c8b565b5b80604052505050565b5f62000cf962000980565b905062000d07828262000cb8565b919050565b5f67ffffffffffffffff82111562000d295762000d2862000c8b565b5b62000d348262000c7b565b9050602081019050919050565b5f5b8381101562000d6057808201518184015260208101905062000d43565b5f8484015250505050565b5f62000d8162000d7b8462000d0c565b62000cee565b90508281526020810184848401111562000da05762000d9f62000c77565b5b62000dad84828562000d41565b509392505050565b5f82601f83011262000dcc5762000dcb62000c73565b5b815162000dde84826020860162000d6b565b91505092915050565b5f6020828403121562000dff5762000dfe62000989565b5b5f82015167ffffffffffffffff81111562000e1f5762000e1e6200098d565b5b62000e2d8482850162000db5565b91505092915050565b5f81519050919050565b5f62000e4c8262000e36565b62000e58818562000a0a565b935062000e6a81856020860162000d41565b62000e758162000c7b565b840191505092915050565b5f62000e8e60048362000a0a565b915062000e9b8262000b48565b602082019050919050565b7f6e616d652073686f756c64206265204249474f000000000000000000000000005f82015250565b5f62000edc60138362000a0a565b915062000ee98262000ea6565b602082019050919050565b5f6060820190508181035f83015262000f0e818462000e40565b9050818103602083015262000f238162000e80565b9050818103604083015262000f388162000ece565b905092915050565b5f62000f4e60038362000a0a565b915062000f5b8262000b96565b602082019050919050565b7f6e616d652073686f756c642062652042494700000000000000000000000000005f82015250565b5f62000f9c60128362000a0a565b915062000fa98262000f66565b602082019050919050565b5f6060820190508181035f83015262000fce818462000e40565b9050818103602083015262000fe38162000f40565b9050818103604083015262000ff88162000f8e565b905092915050565b7f746f74616c20737570706c792073686f756c64206265203130303030303000005f82015250565b5f62001036601e8362000a0a565b9150620010438262001000565b602082019050919050565b5f606082019050620010635f830185620009f9565b620010726020830184620009f9565b8181036040830152620010858162001028565b90509392505050565b5f819050919050565b5f620010b7620010b1620010ab846200108e565b62000bed565b62000991565b9050919050565b620010c98162001097565b82525050565b7f696e76616c696420696e697469616c2062616c616e63650000000000000000005f82015250565b5f6200110560178362000a0a565b91506200111282620010cf565b602082019050919050565b5f606082019050620011325f830185620009f9565b620011416020830184620010be565b81810360408301526200115481620010f7565b90509392505050565b5f819050919050565b5f62001186620011806200117a846200115d565b62000bed565b62000991565b9050919050565b620011988162001166565b82525050565b5f604082019050620011b35f83018562000954565b620011c260208301846200118d565b9392505050565b620011d48162001166565b82525050565b7f696e76616c69642066696e616c2062616c616e636500000000000000000000005f82015250565b5f6200121060158362000a0a565b91506200121d82620011da565b602082019050919050565b5f6060820190506200123d5f830185620009f9565b6200124c6020830184620011c9565b81810360408301526200125f8162001202565b9050939250505056fe60a060405234801562000010575f80fd5b5060405162001772380380620017728339818101604052810190620000369190620002a9565b806080818152505082600290816200004f91906200056e565b5081600390816200006191906200056e565b503360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505062000652565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200014d8262000105565b810181811067ffffffffffffffff821117156200016f576200016e62000115565b5b80604052505050565b5f62000183620000ec565b905062000191828262000142565b919050565b5f67ffffffffffffffff821115620001b357620001b262000115565b5b620001be8262000105565b9050602081019050919050565b5f5b83811015620001ea578082015181840152602081019050620001cd565b5f8484015250505050565b5f6200020b620002058462000196565b62000178565b9050828152602081018484840111156200022a576200022962000101565b5b62000237848285620001cb565b509392505050565b5f82601f830112620002565762000255620000fd565b5b815162000268848260208601620001f5565b91505092915050565b5f819050919050565b620002858162000271565b811462000290575f80fd5b50565b5f81519050620002a3816200027a565b92915050565b5f805f60608486031215620002c357620002c2620000f5565b5b5f84015167ffffffffffffffff811115620002e357620002e2620000f9565b5b620002f1868287016200023f565b935050602084015167ffffffffffffffff811115620003155762000314620000f9565b5b62000323868287016200023f565b9250506040620003368682870162000293565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200038f57607f821691505b602082108103620003a557620003a46200034a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003cc565b620004158683620003cc565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000456620004506200044a8462000271565b6200042d565b62000271565b9050919050565b5f819050919050565b620004718362000436565b6200048962000480826200045d565b848454620003d8565b825550505050565b5f90565b6200049f62000491565b620004ac81848462000466565b505050565b5b81811015620004d357620004c75f8262000495565b600181019050620004b2565b5050565b601f8211156200052257620004ec81620003ab565b620004f784620003bd565b8101602085101562000507578190505b6200051f6200051685620003bd565b830182620004b1565b50505b505050565b5f82821c905092915050565b5f620005445f198460080262000527565b1980831691505092915050565b5f6200055e838362000533565b9150826002028217905092915050565b620005798262000340565b67ffffffffffffffff81111562000595576200059462000115565b5b620005a1825462000377565b620005ae828285620004d7565b5f60209050601f831160018114620005e4575f8415620005cf578287015190505b620005db858262000551565b8655506200064a565b601f198416620005f486620003ab565b5f5b828110156200061d57848901518255600182019150602085019450602081019050620005f6565b868310156200063d578489015162000639601f89168262000533565b8355505b6001600288020188555050505b505050505050565b6080516111076200066b5f395f61048001526111075ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c806395d89b411161006f57806395d89b41146101a0578063a9059cbb146101be578063b09f1266146101ee578063b2bdfa7b1461020c578063d28d88521461022a578063dd62ed3e14610248576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce5671461015257806370a0823114610170575b5f80fd5b6100be610278565b6040516100cb9190610cb2565b60405180910390f35b6100ee60048036038101906100e99190610d63565b610308565b6040516100fb9190610dbb565b60405180910390f35b61010c61047d565b6040516101199190610de3565b60405180910390f35b61013c60048036038101906101379190610dfc565b6104a4565b6040516101499190610dbb565b60405180910390f35b61015a6106af565b6040516101679190610e67565b60405180910390f35b61018a60048036038101906101859190610e80565b6106b7565b6040516101979190610de3565b60405180910390f35b6101a86106fc565b6040516101b59190610cb2565b60405180910390f35b6101d860048036038101906101d39190610d63565b61078c565b6040516101e59190610dbb565b60405180910390f35b6101f661098d565b6040516102039190610cb2565b60405180910390f35b610214610a19565b6040516102219190610eba565b60405180910390f35b610232610a3e565b60405161023f9190610cb2565b60405180910390f35b610262600480360381019061025d9190610ed3565b610aca565b60405161026f9190610de3565b60405180910390f35b60606002805461028790610f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546102b390610f3e565b80156102fe5780601f106102d5576101008083540402835291602001916102fe565b820191905f5260205f20905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b5f805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821015610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037f90610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036103f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ed90611020565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051b90610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058990611020565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f790611020565b60405180910390fd5b815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461064b919061106b565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461069d919061109e565b92505081905550600190509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606003805461070b90610f3e565b80601f016020809104026020016040519081016040528092919081815260200182805461073790610f3e565b80156107825780601f1061075957610100808354040283529160200191610782565b820191905f5260205f20905b81548152906001019060200180831161076557829003601f168201915b5050505050905090565b5f815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390610fb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087190611020565b60405180910390fd5b815f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108c5919061106b565b92505081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610917919061109e565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161097b9190610de3565b60405180910390a36001905092915050565b6003805461099a90610f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546109c690610f3e565b8015610a115780601f106109e857610100808354040283529160200191610a11565b820191905f5260205f20905b8154815290600101906020018083116109f457829003601f168201915b505050505081565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054610a4b90610f3e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7790610f3e565b8015610ac25780601f10610a9957610100808354040283529160200191610ac2565b820191905f5260205f20905b815481529060010190602001808311610aa557829003601f168201915b505050505081565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3090611020565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e90611020565b60405180910390fd5b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610c5f578082015181840152602081019050610c44565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610c8482610c28565b610c8e8185610c32565b9350610c9e818560208601610c42565b610ca781610c6a565b840191505092915050565b5f6020820190508181035f830152610cca8184610c7a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cff82610cd6565b9050919050565b610d0f81610cf5565b8114610d19575f80fd5b50565b5f81359050610d2a81610d06565b92915050565b5f819050919050565b610d4281610d30565b8114610d4c575f80fd5b50565b5f81359050610d5d81610d39565b92915050565b5f8060408385031215610d7957610d78610cd2565b5b5f610d8685828601610d1c565b9250506020610d9785828601610d4f565b9150509250929050565b5f8115159050919050565b610db581610da1565b82525050565b5f602082019050610dce5f830184610dac565b92915050565b610ddd81610d30565b82525050565b5f602082019050610df65f830184610dd4565b92915050565b5f805f60608486031215610e1357610e12610cd2565b5b5f610e2086828701610d1c565b9350506020610e3186828701610d1c565b9250506040610e4286828701610d4f565b9150509250925092565b5f60ff82169050919050565b610e6181610e4c565b82525050565b5f602082019050610e7a5f830184610e58565b92915050565b5f60208284031215610e9557610e94610cd2565b5b5f610ea284828501610d1c565b91505092915050565b610eb481610cf5565b82525050565b5f602082019050610ecd5f830184610eab565b92915050565b5f8060408385031215610ee957610ee8610cd2565b5b5f610ef685828601610d1c565b9250506020610f0785828601610d1c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f5557607f821691505b602082108103610f6857610f67610f11565b5b50919050565b7f696e737566696369656e742062616c616e6365000000000000000000000000005f82015250565b5f610fa2601383610c32565b9150610fad82610f6e565b602082019050919050565b5f6020820190508181035f830152610fcf81610f96565b9050919050565b7f696e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61100a600f83610c32565b915061101582610fd6565b602082019050919050565b5f6020820190508181035f83015261103781610ffe565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61107582610d30565b915061108083610d30565b92508282039050818111156110985761109761103e565b5b92915050565b5f6110a882610d30565b91506110b383610d30565b92508282019050808211156110cb576110ca61103e565b5b9291505056fea2646970667358221220fbe0aaa34bf61ca072399c699818a8b1bb5ae768cc6ca087365a5a1833fe77ac64736f6c63430008150033a2646970667358221220f781ebd9b89f193666bb15b3cb0ac8456346df45e3b106f3645168791436b67464736f6c63430008150033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x50 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x586C0B42 EQ PUSH3 0x54 JUMPI DUP1 PUSH4 0x7FEA0D4B EQ PUSH3 0x60 JUMPI DUP1 PUSH4 0x944C410B EQ PUSH3 0x6C JUMPI DUP1 PUSH4 0x9C45706D EQ PUSH3 0x78 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH3 0x5E PUSH3 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH3 0x6A PUSH3 0x254 JUMP JUMPDEST STOP JUMPDEST PUSH3 0x76 PUSH3 0x30D JUMP JUMPDEST STOP JUMPDEST PUSH3 0x82 PUSH3 0x638 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x101 SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x11D JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x143 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 DUP3 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x1C9 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x1EF SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x20E SWAP3 SWAP2 SWAP1 PUSH3 0xA8E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x22A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x250 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0xF4240 PUSH1 0x40 MLOAD PUSH3 0x266 SWAP1 PUSH3 0x914 JUMP JUMPDEST PUSH3 0x272 SWAP2 SWAP1 PUSH3 0xC2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x28C JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP ADDRESS PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH20 0x0 PUSH4 0xE8C2CB16 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6FDDE03 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x38F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x3B9 SWAP2 SWAP1 PUSH3 0xDE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x3D7 SWAP2 SWAP1 PUSH3 0xEF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x3F3 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x419 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xE8C2CB16 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x95D89B41 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x49C JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x4C6 SWAP2 SWAP1 PUSH3 0xDE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x4E4 SWAP2 SWAP1 PUSH3 0xFB4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x500 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x526 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x5AA JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x5D0 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH3 0xF4240 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x5F3 SWAP3 SWAP2 SWAP1 PUSH3 0x104E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x60F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x635 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x6B1 SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x6CD JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x6F3 SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x713 SWAP3 SWAP2 SWAP1 PUSH3 0x111D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x72F JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x755 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP3 PUSH1 0xA PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x7B3 SWAP3 SWAP2 SWAP1 PUSH3 0x119E JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH3 0x7D0 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x7F6 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP PUSH20 0x0 PUSH4 0xABCD7960 PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x86B SWAP2 SWAP1 PUSH3 0x965 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x887 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x8AD SWAP2 SWAP1 PUSH3 0x9C9 JUMP JUMPDEST PUSH1 0xA PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x8CE SWAP3 SWAP2 SWAP1 PUSH3 0x1228 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH3 0x8EA JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0x910 SWAP2 SWAP1 PUSH3 0xB08 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1772 DUP1 PUSH3 0x1269 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x94D DUP3 PUSH3 0x922 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x95F DUP2 PUSH3 0x941 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x97A PUSH0 DUP4 ADD DUP5 PUSH3 0x954 JUMP JUMPDEST SWAP3 SWAP2 POP POP 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 PUSH3 0x9A5 DUP2 PUSH3 0x991 JUMP JUMPDEST DUP2 EQ PUSH3 0x9B0 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0x9C3 DUP2 PUSH3 0x99A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x9E1 JUMPI PUSH3 0x9E0 PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 PUSH3 0x9F0 DUP5 DUP3 DUP6 ADD PUSH3 0x9B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xA04 DUP2 PUSH3 0x991 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x62616C616E6365206F66206F776E65722073686F756C6420626520657175616C PUSH0 DUP3 ADD MSTORE PUSH32 0x20746F20746F74616C20737570706C7900000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xA76 PUSH1 0x30 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xA83 DUP3 PUSH3 0xA1A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xAA3 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0xAB2 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x9F9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xAC5 DUP2 PUSH3 0xA68 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xAE4 DUP2 PUSH3 0xACE JUMP JUMPDEST DUP2 EQ PUSH3 0xAEF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0xB02 DUP2 PUSH3 0xAD9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xB20 JUMPI PUSH3 0xB1F PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 PUSH3 0xB2F DUP5 DUP3 DUP6 ADD PUSH3 0xAF2 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 0x4249474F00000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xB7E PUSH1 0x4 DUP4 PUSH3 0xB38 JUMP JUMPDEST SWAP2 POP PUSH3 0xB8B DUP3 PUSH3 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4249470000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xBCC PUSH1 0x3 DUP4 PUSH3 0xB38 JUMP JUMPDEST SWAP2 POP PUSH3 0xBD9 DUP3 PUSH3 0xB96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0xC16 PUSH3 0xC10 PUSH3 0xC0A DUP5 PUSH3 0xBE4 JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xC28 DUP2 PUSH3 0xBF6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xC47 DUP2 PUSH3 0xB70 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xC5C DUP2 PUSH3 0xBBE JUMP JUMPDEST SWAP1 POP PUSH3 0xC6D PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xC1D JUMP JUMPDEST 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 PUSH3 0xCC3 DUP3 PUSH3 0xC7B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0xCE5 JUMPI PUSH3 0xCE4 PUSH3 0xC8B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0xCF9 PUSH3 0x980 JUMP JUMPDEST SWAP1 POP PUSH3 0xD07 DUP3 DUP3 PUSH3 0xCB8 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0xD29 JUMPI PUSH3 0xD28 PUSH3 0xC8B JUMP JUMPDEST JUMPDEST PUSH3 0xD34 DUP3 PUSH3 0xC7B JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xD60 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xD43 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0xD81 PUSH3 0xD7B DUP5 PUSH3 0xD0C JUMP JUMPDEST PUSH3 0xCEE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0xDA0 JUMPI PUSH3 0xD9F PUSH3 0xC77 JUMP JUMPDEST JUMPDEST PUSH3 0xDAD DUP5 DUP3 DUP6 PUSH3 0xD41 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0xDCC JUMPI PUSH3 0xDCB PUSH3 0xC73 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0xDDE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0xD6B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xDFF JUMPI PUSH3 0xDFE PUSH3 0x989 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0xE1F JUMPI PUSH3 0xE1E PUSH3 0x98D JUMP JUMPDEST JUMPDEST PUSH3 0xE2D DUP5 DUP3 DUP6 ADD PUSH3 0xDB5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0xE4C DUP3 PUSH3 0xE36 JUMP JUMPDEST PUSH3 0xE58 DUP2 DUP6 PUSH3 0xA0A JUMP JUMPDEST SWAP4 POP PUSH3 0xE6A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xD41 JUMP JUMPDEST PUSH3 0xE75 DUP2 PUSH3 0xC7B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0xE8E PUSH1 0x4 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xE9B DUP3 PUSH3 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E616D652073686F756C64206265204249474F00000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xEDC PUSH1 0x13 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xEE9 DUP3 PUSH3 0xEA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xF0E DUP2 DUP5 PUSH3 0xE40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xF23 DUP2 PUSH3 0xE80 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xF38 DUP2 PUSH3 0xECE JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0xF4E PUSH1 0x3 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xF5B DUP3 PUSH3 0xB96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x6E616D652073686F756C64206265204249470000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0xF9C PUSH1 0x12 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0xFA9 DUP3 PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH3 0xFCE DUP2 DUP5 PUSH3 0xE40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xFE3 DUP2 PUSH3 0xF40 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0xFF8 DUP2 PUSH3 0xF8E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x746F74616C20737570706C792073686F756C6420626520313030303030300000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1036 PUSH1 0x1E DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x1043 DUP3 PUSH3 0x1000 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x1063 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x1072 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x9F9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x1085 DUP2 PUSH3 0x1028 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x10B7 PUSH3 0x10B1 PUSH3 0x10AB DUP5 PUSH3 0x108E JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x10C9 DUP2 PUSH3 0x1097 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x696E76616C696420696E697469616C2062616C616E6365000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1105 PUSH1 0x17 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x1112 DUP3 PUSH3 0x10CF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x1132 PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x1141 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x10BE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x1154 DUP2 PUSH3 0x10F7 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x1186 PUSH3 0x1180 PUSH3 0x117A DUP5 PUSH3 0x115D JUMP JUMPDEST PUSH3 0xBED JUMP JUMPDEST PUSH3 0x991 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x1198 DUP2 PUSH3 0x1166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH3 0x11B3 PUSH0 DUP4 ADD DUP6 PUSH3 0x954 JUMP JUMPDEST PUSH3 0x11C2 PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x118D JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH3 0x11D4 DUP2 PUSH3 0x1166 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642066696E616C2062616C616E63650000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH3 0x1210 PUSH1 0x15 DUP4 PUSH3 0xA0A JUMP JUMPDEST SWAP2 POP PUSH3 0x121D DUP3 PUSH3 0x11DA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0x123D PUSH0 DUP4 ADD DUP6 PUSH3 0x9F9 JUMP JUMPDEST PUSH3 0x124C PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x11C9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH3 0x125F DUP2 PUSH3 0x1202 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1772 CODESIZE SUB DUP1 PUSH3 0x1772 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x36 SWAP2 SWAP1 PUSH3 0x2A9 JUMP JUMPDEST DUP1 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP3 PUSH1 0x2 SWAP1 DUP2 PUSH3 0x4F SWAP2 SWAP1 PUSH3 0x56E JUMP JUMPDEST POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0x56E JUMP JUMPDEST POP CALLER PUSH1 0x4 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 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 POP POP POP PUSH3 0x652 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT 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 PUSH3 0x14D DUP3 PUSH3 0x105 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x16F JUMPI PUSH3 0x16E PUSH3 0x115 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x183 PUSH3 0xEC JUMP JUMPDEST SWAP1 POP PUSH3 0x191 DUP3 DUP3 PUSH3 0x142 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x1B3 JUMPI PUSH3 0x1B2 PUSH3 0x115 JUMP JUMPDEST JUMPDEST PUSH3 0x1BE DUP3 PUSH3 0x105 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x1EA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x1CD JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH3 0x20B PUSH3 0x205 DUP5 PUSH3 0x196 JUMP JUMPDEST PUSH3 0x178 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x22A JUMPI PUSH3 0x229 PUSH3 0x101 JUMP JUMPDEST JUMPDEST PUSH3 0x237 DUP5 DUP3 DUP6 PUSH3 0x1CB JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x256 JUMPI PUSH3 0x255 PUSH3 0xFD JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x268 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x1F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x285 DUP2 PUSH3 0x271 JUMP JUMPDEST DUP2 EQ PUSH3 0x290 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH3 0x2A3 DUP2 PUSH3 0x27A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x2C3 JUMPI PUSH3 0x2C2 PUSH3 0xF5 JUMP JUMPDEST JUMPDEST PUSH0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x2E3 JUMPI PUSH3 0x2E2 PUSH3 0xF9 JUMP JUMPDEST JUMPDEST PUSH3 0x2F1 DUP7 DUP3 DUP8 ADD PUSH3 0x23F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x315 JUMPI PUSH3 0x314 PUSH3 0xF9 JUMP JUMPDEST JUMPDEST PUSH3 0x323 DUP7 DUP3 DUP8 ADD PUSH3 0x23F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x336 DUP7 DUP3 DUP8 ADD PUSH3 0x293 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 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 PUSH3 0x38F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x3A5 JUMPI PUSH3 0x3A4 PUSH3 0x34A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH3 0x409 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x3CC JUMP JUMPDEST PUSH3 0x415 DUP7 DUP4 PUSH3 0x3CC 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 PUSH3 0x456 PUSH3 0x450 PUSH3 0x44A DUP5 PUSH3 0x271 JUMP JUMPDEST PUSH3 0x42D JUMP JUMPDEST PUSH3 0x271 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x471 DUP4 PUSH3 0x436 JUMP JUMPDEST PUSH3 0x489 PUSH3 0x480 DUP3 PUSH3 0x45D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x3D8 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x49F PUSH3 0x491 JUMP JUMPDEST PUSH3 0x4AC DUP2 DUP5 DUP5 PUSH3 0x466 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x4D3 JUMPI PUSH3 0x4C7 PUSH0 DUP3 PUSH3 0x495 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x4B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x522 JUMPI PUSH3 0x4EC DUP2 PUSH3 0x3AB JUMP JUMPDEST PUSH3 0x4F7 DUP5 PUSH3 0x3BD JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x507 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x51F PUSH3 0x516 DUP6 PUSH3 0x3BD JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x4B1 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x544 PUSH0 NOT DU
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