Skip to content

Instantly share code, notes, and snippets.

@Dustin4444
Created August 5, 2026 21:52
Show Gist options
  • Select an option

  • Save Dustin4444/a532769ec32387eb2c8c9faea9437b08 to your computer and use it in GitHub Desktop.

Select an option

Save Dustin4444/a532769ec32387eb2c8c9faea9437b08 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.34+commit.80d5c536.js&optimize=true&runs=200&gist=
{
"hardhat@3.12.0/console.sol": ".deps/npm/hardhat@3.12.0/console.sol"
}
{
".deps/remix-tests/remix_accounts.sol": {
"__sources__": {
".deps/remix-tests/remix_accounts.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary TestsAccounts {\n function getAccount(uint index) pure public returns (address) {\n return address(0);\n }\n}\n",
"file": ".deps/remix-tests/remix_accounts.sol"
}
}
},
".deps/remix-tests/remix_tests.sol": {
"__sources__": {
".deps/remix-tests/remix_tests.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary Assert {\n\n event AssertionEvent(\n bool passed,\n string message,\n string methodName\n );\n\n event AssertionEventUint(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n uint256 expected\n );\n\n event AssertionEventInt(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n int256 expected\n );\n\n event AssertionEventBool(\n bool passed,\n string message,\n string methodName,\n bool returned,\n bool expected\n );\n\n event AssertionEventAddress(\n bool passed,\n string message,\n string methodName,\n address returned,\n address expected\n );\n\n event AssertionEventBytes32(\n bool passed,\n string message,\n string methodName,\n bytes32 returned,\n bytes32 expected\n );\n\n event AssertionEventString(\n bool passed,\n string message,\n string methodName,\n string returned,\n string expected\n );\n\n event AssertionEventUintInt(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n int256 expected\n );\n\n event AssertionEventIntUint(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n uint256 expected\n );\n\n function ok(bool a, string memory message) public returns (bool result) {\n result = a;\n emit AssertionEvent(result, message, \"ok\");\n }\n\n function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventUint(result, message, \"equal\", a, b);\n }\n\n function equal(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventInt(result, message, \"equal\", a, b);\n }\n\n function equal(bool a, bool b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBool(result, message, \"equal\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function equal(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function equal(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n function equal(address a, address b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventAddress(result, message, \"equal\", a, b);\n }\n\n function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBytes32(result, message, \"equal\", a, b);\n }\n\n function equal(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"equal\", a, b);\n }\n\n function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventUint(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventInt(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bool a, bool b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBool(result, message, \"notEqual\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function notEqual(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n function notEqual(address a, address b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventAddress(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBytes32(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"notEqual\", a, b);\n }\n\n /*----------------- Greater than --------------------*/\n function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventUint(result, message, \"greaterThan\", a, b);\n }\n\n function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventInt(result, message, \"greaterThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative uint \"a\" always greater\n result = true;\n } else {\n result = (a > uint(b));\n }\n emit AssertionEventUintInt(result, message, \"greaterThan\", a, b);\n }\n function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative uint \"b\" always greater\n result = false;\n } else {\n result = (uint(a) > b);\n }\n emit AssertionEventIntUint(result, message, \"greaterThan\", a, b);\n }\n /*----------------- Lesser than --------------------*/\n function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventUint(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventInt(result, message, \"lesserThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative int \"b\" always lesser\n result = false;\n } else {\n result = (a < uint(b));\n }\n emit AssertionEventUintInt(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative int \"a\" always lesser\n result = true;\n } else {\n result = (uint(a) < b);\n }\n emit AssertionEventIntUint(result, message, \"lesserThan\", a, b);\n }\n}\n",
"file": ".deps/remix-tests/remix_tests.sol"
}
}
},
".deps/npm/hardhat@3.12.0/console.sol": {
"__sources__": {
".deps/npm/hardhat@3.12.0/console.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n",
"file": ".deps/npm/hardhat@3.12.0/console.sol"
}
}
},
"contracts/1_Storage.sol": {
"__sources__": {
"contracts/1_Storage.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.8.2 <0.9.0;\n\n/**\n * @title Storage\n * @dev Store & retrieve value in a variable\n * @custom:dev-run-script ./scripts/deploy_with_ethers.ts\n */\ncontract Storage {\n\n uint256 number;\n\n /**\n * @dev Store value in variable\n * @param num value to store\n */\n function store(uint256 num) public {\n number = num;\n }\n\n /**\n * @dev Return value \n * @return value of 'number'\n */\n function retrieve() public view returns (uint256){\n return number;\n }\n}",
"file": "contracts/1_Storage.sol"
}
}
},
"contracts/2_Owner.sol": {
"hardhat/console.sol": ".deps/npm/hardhat@3.12.0/console.sol",
"__sources__": {
"contracts/2_Owner.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"hardhat/console.sol\";\n\n/**\n * @title Owner\n * @dev Set & change owner\n */\ncontract Owner {\n\n address private owner;\n\n // event for EVM logging\n event OwnerSet(address indexed oldOwner, address indexed newOwner);\n\n // modifier to check if caller is owner\n modifier isOwner() {\n // If the first argument of 'require' evaluates to 'false', execution terminates and all\n // changes to the state and to Ether balances are reverted.\n // This used to consume all gas in old EVM versions, but not anymore.\n // It is often a good idea to use 'require' to check if functions are called correctly.\n // As a second argument, you can also provide an explanation about what went wrong.\n require(msg.sender == owner, \"Caller is not owner\");\n _;\n }\n\n /**\n * @dev Set contract deployer as owner\n */\n constructor() {\n console.log(\"Owner contract deployed by:\", msg.sender);\n owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor\n emit OwnerSet(address(0), owner);\n }\n\n /**\n * @dev Change owner\n * @param newOwner address of new owner\n */\n function changeOwner(address newOwner) public isOwner {\n require(newOwner != address(0), \"New owner should not be the zero address\");\n emit OwnerSet(owner, newOwner);\n owner = newOwner;\n }\n\n /**\n * @dev Return owner address \n * @return address of owner\n */\n function getOwner() external view returns (address) {\n return owner;\n }\n} \n",
"file": "contracts/2_Owner.sol"
},
"hardhat/console.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n",
"file": "hardhat@3.12.0/console.sol"
}
}
},
"tests/Ballot_test_flattened.sol": {
"__sources__": {
"tests/Ballot_test_flattened.sol": {
"content": "\n// File: remix_tests.sol\n\n\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary Assert {\n\n event AssertionEvent(\n bool passed,\n string message,\n string methodName\n );\n\n event AssertionEventUint(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n uint256 expected\n );\n\n event AssertionEventInt(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n int256 expected\n );\n\n event AssertionEventBool(\n bool passed,\n string message,\n string methodName,\n bool returned,\n bool expected\n );\n\n event AssertionEventAddress(\n bool passed,\n string message,\n string methodName,\n address returned,\n address expected\n );\n\n event AssertionEventBytes32(\n bool passed,\n string message,\n string methodName,\n bytes32 returned,\n bytes32 expected\n );\n\n event AssertionEventString(\n bool passed,\n string message,\n string methodName,\n string returned,\n string expected\n );\n\n event AssertionEventUintInt(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n int256 expected\n );\n\n event AssertionEventIntUint(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n uint256 expected\n );\n\n function ok(bool a, string memory message) public returns (bool result) {\n result = a;\n emit AssertionEvent(result, message, \"ok\");\n }\n\n function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventUint(result, message, \"equal\", a, b);\n }\n\n function equal(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventInt(result, message, \"equal\", a, b);\n }\n\n function equal(bool a, bool b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBool(result, message, \"equal\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function equal(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function equal(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n function equal(address a, address b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventAddress(result, message, \"equal\", a, b);\n }\n\n function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBytes32(result, message, \"equal\", a, b);\n }\n\n function equal(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"equal\", a, b);\n }\n\n function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventUint(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventInt(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bool a, bool b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBool(result, message, \"notEqual\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function notEqual(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n function notEqual(address a, address b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventAddress(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBytes32(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"notEqual\", a, b);\n }\n\n /*----------------- Greater than --------------------*/\n function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventUint(result, message, \"greaterThan\", a, b);\n }\n\n function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventInt(result, message, \"greaterThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative uint \"a\" always greater\n result = true;\n } else {\n result = (a > uint(b));\n }\n emit AssertionEventUintInt(result, message, \"greaterThan\", a, b);\n }\n function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative uint \"b\" always greater\n result = false;\n } else {\n result = (uint(a) > b);\n }\n emit AssertionEventIntUint(result, message, \"greaterThan\", a, b);\n }\n /*----------------- Lesser than --------------------*/\n function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventUint(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventInt(result, message, \"lesserThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative int \"b\" always lesser\n result = false;\n } else {\n result = (a < uint(b));\n }\n emit AssertionEventUintInt(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative int \"a\" always lesser\n result = true;\n } else {\n result = (uint(a) < b);\n }\n emit AssertionEventIntUint(result, message, \"lesserThan\", a, b);\n }\n}\n\n// File: hardhat/console.sol\n\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n\n// File: contracts/3_Ballot.sol\n\n\n\npragma solidity >=0.7.0 <0.9.0;\n\n/** \n * @title Ballot\n * @dev Implements voting process along with vote delegation\n */\ncontract Ballot {\n // This declares a new complex type which will\n // be used for variables later.\n // It will represent a single voter.\n struct Voter {\n uint weight; // weight is accumulated by delegation\n bool voted; // if true, that person already voted\n address delegate; // person delegated to\n uint vote; // index of the voted proposal\n }\n\n // This is a type for a single proposal.\n struct Proposal {\n // If you can limit the length to a certain number of bytes, \n // always use one of bytes1 to bytes32 because they are much cheaper\n bytes32 name; // short name (up to 32 bytes)\n uint voteCount; // number of accumulated votes\n }\n\n address public chairperson;\n\n // This declares a state variable that\n // stores a 'Voter' struct for each possible address.\n mapping(address => Voter) public voters;\n\n // A dynamically-sized array of 'Proposal' structs.\n Proposal[] public proposals;\n\n /** \n * @dev Create a new ballot to choose one of 'proposalNames'.\n * @param proposalNames names of proposals\n */\n constructor(bytes32[] memory proposalNames) {\n chairperson = msg.sender;\n voters[chairperson].weight = 1;\n\n // For each of the provided proposal names,\n // create a new proposal object and add it\n // to the end of the array.\n for (uint i = 0; i < proposalNames.length; i++) {\n // 'Proposal({...})' creates a temporary\n // Proposal object and 'proposals.push(...)'\n // appends it to the end of 'proposals'.\n proposals.push(Proposal({\n name: proposalNames[i],\n voteCount: 0\n }));\n }\n }\n\n /** \n * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.\n * @param voter address of voter\n */\n function giveRightToVote(address voter) external {\n // If the first argument of `require` evaluates\n // to 'false', execution terminates and all\n // changes to the state and to Ether balances\n // are reverted.\n // This used to consume all gas in old EVM versions, but\n // not anymore.\n // It is often a good idea to use 'require' to check if\n // functions are called correctly.\n // As a second argument, you can also provide an\n // explanation about what went wrong.\n require(\n msg.sender == chairperson,\n \"Only chairperson can give right to vote.\"\n );\n require(\n !voters[voter].voted,\n \"The voter already voted.\"\n );\n require(voters[voter].weight == 0, \"Voter already has the right to vote.\");\n voters[voter].weight = 1;\n }\n\n /**\n * @dev Delegate your vote to the voter 'to'.\n * @param to address to which vote is delegated\n */\n function delegate(address to) external {\n // assigns reference\n Voter storage sender = voters[msg.sender];\n require(sender.weight != 0, \"You have no right to vote\");\n require(!sender.voted, \"You already voted.\");\n\n require(to != msg.sender, \"Self-delegation is disallowed.\");\n\n // Forward the delegation as long as\n // 'to' also delegated.\n // In general, such loops are very dangerous,\n // because if they run too long, they might\n // need more gas than is available in a block.\n // In this case, the delegation will not be executed,\n // but in other situations, such loops might\n // cause a contract to get \"stuck\" completely.\n while (voters[to].delegate != address(0)) {\n to = voters[to].delegate;\n\n // We found a loop in the delegation, not allowed.\n require(to != msg.sender, \"Found loop in delegation.\");\n }\n\n Voter storage delegate_ = voters[to];\n\n // Voters cannot delegate to accounts that cannot vote.\n require(delegate_.weight >= 1);\n\n // Since 'sender' is a reference, this\n // modifies 'voters[msg.sender]'.\n sender.voted = true;\n sender.delegate = to;\n\n if (delegate_.voted) {\n // If the delegate already voted,\n // directly add to the number of votes\n proposals[delegate_.vote].voteCount += sender.weight;\n } else {\n // If the delegate did not vote yet,\n // add to her weight.\n delegate_.weight += sender.weight;\n }\n }\n\n /**\n * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.\n * @param proposal index of proposal in the proposals array\n */\n function vote(uint proposal) external {\n Voter storage sender = voters[msg.sender];\n require(sender.weight != 0, \"Has no right to vote\");\n require(!sender.voted, \"Already voted.\");\n sender.voted = true;\n sender.vote = proposal;\n\n // If 'proposal' is out of the range of the array,\n // this will throw automatically and revert all\n // changes.\n proposals[proposal].voteCount += sender.weight;\n }\n\n /** \n * @dev Computes the winning proposal taking all previous votes into account.\n * @return winningProposal_ index of winning proposal in the proposals array\n */\n function winningProposal() public view\n returns (uint winningProposal_)\n {\n uint winningVoteCount = 0;\n for (uint p = 0; p < proposals.length; p++) {\n if (proposals[p].voteCount > winningVoteCount) {\n winningVoteCount = proposals[p].voteCount;\n winningProposal_ = p;\n }\n }\n }\n\n /** \n * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then\n * @return winnerName_ the name of the winner\n */\n function winnerName() external view\n returns (bytes32 winnerName_)\n {\n winnerName_ = proposals[winningProposal()].name;\n }\n}\n// File: tests/Ballot_test.sol\n\n\n\npragma solidity >=0.7.0 <0.9.0;\n\n\n\n\ncontract BallotTest {\n\n bytes32[] proposalNames;\n\n Ballot ballotToTest;\n function beforeAll () public {\n proposalNames.push(bytes32(\"candidate1\"));\n ballotToTest = new Ballot(proposalNames);\n }\n\n function checkWinningProposal () public {\n console.log(\"Running checkWinningProposal\");\n ballotToTest.vote(0);\n Assert.equal(ballotToTest.winningProposal(), uint(0), \"proposal at index 0 should be the winning proposal\");\n Assert.equal(ballotToTest.winnerName(), bytes32(\"candidate1\"), \"candidate1 should be the winner name\");\n }\n\n function checkWinninProposalWithReturnValue () public view returns (bool) {\n return ballotToTest.winningProposal() == 0;\n }\n}",
"file": "tests/Ballot_test_flattened.sol"
}
}
},
"tests/Ballot_test.sol": {
"remix_tests.sol": "remix_tests.sol",
"hardhat/console.sol": ".deps/npm/hardhat@3.12.0/console.sol",
"../contracts/3_Ballot.sol": "contracts/3_Ballot.sol",
"__sources__": {
"tests/Ballot_test.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\nimport \"remix_tests.sol\"; // this import is automatically injected by Remix.\nimport \"hardhat/console.sol\";\nimport \"../contracts/3_Ballot.sol\";\n\ncontract BallotTest {\n bytes32[] proposalNames;\n\n Ballot ballotToTest;\n function beforeAll() public {\n proposalNames.push(bytes32(\"candidate1\"));\n ballotToTest = new Ballot(proposalNames);\n }\n\n function checkWinningProposal() public {\n console.log(\"Running checkWinningProposal\");\n ballotToTest.vote(0);\n Assert.equal(\n ballotToTest.winningProposal(),\n uint(0),\n \"proposal at index 0 should be the winning proposal\"\n );\n Assert.equal(\n ballotToTest.winnerName(),\n bytes32(\"candidate1\"),\n \"candidate1 should be the winner name\"\n );\n }\n\n function checkWinninProposalWithReturnValue() public view returns (bool) {\n return ballotToTest.winningProposal() == 0;\n }\n}\n",
"file": "tests/Ballot_test.sol"
},
"remix_tests.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary Assert {\n\n event AssertionEvent(\n bool passed,\n string message,\n string methodName\n );\n\n event AssertionEventUint(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n uint256 expected\n );\n\n event AssertionEventInt(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n int256 expected\n );\n\n event AssertionEventBool(\n bool passed,\n string message,\n string methodName,\n bool returned,\n bool expected\n );\n\n event AssertionEventAddress(\n bool passed,\n string message,\n string methodName,\n address returned,\n address expected\n );\n\n event AssertionEventBytes32(\n bool passed,\n string message,\n string methodName,\n bytes32 returned,\n bytes32 expected\n );\n\n event AssertionEventString(\n bool passed,\n string message,\n string methodName,\n string returned,\n string expected\n );\n\n event AssertionEventUintInt(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n int256 expected\n );\n\n event AssertionEventIntUint(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n uint256 expected\n );\n\n function ok(bool a, string memory message) public returns (bool result) {\n result = a;\n emit AssertionEvent(result, message, \"ok\");\n }\n\n function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventUint(result, message, \"equal\", a, b);\n }\n\n function equal(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventInt(result, message, \"equal\", a, b);\n }\n\n function equal(bool a, bool b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBool(result, message, \"equal\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function equal(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function equal(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n function equal(address a, address b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventAddress(result, message, \"equal\", a, b);\n }\n\n function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBytes32(result, message, \"equal\", a, b);\n }\n\n function equal(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"equal\", a, b);\n }\n\n function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventUint(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventInt(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bool a, bool b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBool(result, message, \"notEqual\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function notEqual(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n function notEqual(address a, address b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventAddress(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBytes32(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"notEqual\", a, b);\n }\n\n /*----------------- Greater than --------------------*/\n function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventUint(result, message, \"greaterThan\", a, b);\n }\n\n function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventInt(result, message, \"greaterThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative uint \"a\" always greater\n result = true;\n } else {\n result = (a > uint(b));\n }\n emit AssertionEventUintInt(result, message, \"greaterThan\", a, b);\n }\n function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative uint \"b\" always greater\n result = false;\n } else {\n result = (uint(a) > b);\n }\n emit AssertionEventIntUint(result, message, \"greaterThan\", a, b);\n }\n /*----------------- Lesser than --------------------*/\n function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventUint(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventInt(result, message, \"lesserThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative int \"b\" always lesser\n result = false;\n } else {\n result = (a < uint(b));\n }\n emit AssertionEventUintInt(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative int \"a\" always lesser\n result = true;\n } else {\n result = (uint(a) < b);\n }\n emit AssertionEventIntUint(result, message, \"lesserThan\", a, b);\n }\n}\n",
"file": "remix_tests.sol"
},
"hardhat/console.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n",
"file": "hardhat@3.12.0/console.sol"
},
"contracts/3_Ballot.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\n\n/** \n * @title Ballot\n * @dev Implements voting process along with vote delegation\n */\ncontract Ballot {\n // This declares a new complex type which will\n // be used for variables later.\n // It will represent a single voter.\n struct Voter {\n uint weight; // weight is accumulated by delegation\n bool voted; // if true, that person already voted\n address delegate; // person delegated to\n uint vote; // index of the voted proposal\n }\n\n // This is a type for a single proposal.\n struct Proposal {\n // If you can limit the length to a certain number of bytes, \n // always use one of bytes1 to bytes32 because they are much cheaper\n bytes32 name; // short name (up to 32 bytes)\n uint voteCount; // number of accumulated votes\n }\n\n address public chairperson;\n\n // This declares a state variable that\n // stores a 'Voter' struct for each possible address.\n mapping(address => Voter) public voters;\n\n // A dynamically-sized array of 'Proposal' structs.\n Proposal[] public proposals;\n\n /** \n * @dev Create a new ballot to choose one of 'proposalNames'.\n * @param proposalNames names of proposals\n */\n constructor(bytes32[] memory proposalNames) {\n chairperson = msg.sender;\n voters[chairperson].weight = 1;\n\n // For each of the provided proposal names,\n // create a new proposal object and add it\n // to the end of the array.\n for (uint i = 0; i < proposalNames.length; i++) {\n // 'Proposal({...})' creates a temporary\n // Proposal object and 'proposals.push(...)'\n // appends it to the end of 'proposals'.\n proposals.push(Proposal({\n name: proposalNames[i],\n voteCount: 0\n }));\n }\n }\n\n /** \n * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.\n * @param voter address of voter\n */\n function giveRightToVote(address voter) external {\n // If the first argument of `require` evaluates\n // to 'false', execution terminates and all\n // changes to the state and to Ether balances\n // are reverted.\n // This used to consume all gas in old EVM versions, but\n // not anymore.\n // It is often a good idea to use 'require' to check if\n // functions are called correctly.\n // As a second argument, you can also provide an\n // explanation about what went wrong.\n require(\n msg.sender == chairperson,\n \"Only chairperson can give right to vote.\"\n );\n require(\n !voters[voter].voted,\n \"The voter already voted.\"\n );\n require(voters[voter].weight == 0, \"Voter already has the right to vote.\");\n voters[voter].weight = 1;\n }\n\n /**\n * @dev Delegate your vote to the voter 'to'.\n * @param to address to which vote is delegated\n */\n function delegate(address to) external {\n // assigns reference\n Voter storage sender = voters[msg.sender];\n require(sender.weight != 0, \"You have no right to vote\");\n require(!sender.voted, \"You already voted.\");\n\n require(to != msg.sender, \"Self-delegation is disallowed.\");\n\n // Forward the delegation as long as\n // 'to' also delegated.\n // In general, such loops are very dangerous,\n // because if they run too long, they might\n // need more gas than is available in a block.\n // In this case, the delegation will not be executed,\n // but in other situations, such loops might\n // cause a contract to get \"stuck\" completely.\n while (voters[to].delegate != address(0)) {\n to = voters[to].delegate;\n\n // We found a loop in the delegation, not allowed.\n require(to != msg.sender, \"Found loop in delegation.\");\n }\n\n Voter storage delegate_ = voters[to];\n\n // Voters cannot delegate to accounts that cannot vote.\n require(delegate_.weight >= 1);\n\n // Since 'sender' is a reference, this\n // modifies 'voters[msg.sender]'.\n sender.voted = true;\n sender.delegate = to;\n\n if (delegate_.voted) {\n // If the delegate already voted,\n // directly add to the number of votes\n proposals[delegate_.vote].voteCount += sender.weight;\n } else {\n // If the delegate did not vote yet,\n // add to her weight.\n delegate_.weight += sender.weight;\n }\n }\n\n /**\n * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.\n * @param proposal index of proposal in the proposals array\n */\n function vote(uint proposal) external {\n Voter storage sender = voters[msg.sender];\n require(sender.weight != 0, \"Has no right to vote\");\n require(!sender.voted, \"Already voted.\");\n sender.voted = true;\n sender.vote = proposal;\n\n // If 'proposal' is out of the range of the array,\n // this will throw automatically and revert all\n // changes.\n proposals[proposal].voteCount += sender.weight;\n }\n\n /** \n * @dev Computes the winning proposal taking all previous votes into account.\n * @return winningProposal_ index of winning proposal in the proposals array\n */\n function winningProposal() public view\n returns (uint winningProposal_)\n {\n uint winningVoteCount = 0;\n for (uint p = 0; p < proposals.length; p++) {\n if (proposals[p].voteCount > winningVoteCount) {\n winningVoteCount = proposals[p].voteCount;\n winningProposal_ = p;\n }\n }\n }\n\n /** \n * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then\n * @return winnerName_ the name of the winner\n */\n function winnerName() external view\n returns (bytes32 winnerName_)\n {\n winnerName_ = proposals[winningProposal()].name;\n }\n}",
"file": "contracts/3_Ballot.sol"
}
}
},
"tests/newFile_test_test.sol": {
"remix_tests.sol": "remix_tests.sol",
"remix_accounts.sol": "remix_accounts.sol",
"./newFile_test.sol": "tests/newFile_test.sol",
"__sources__": {
"tests/newFile_test_test.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\n// This import is automatically injected by Remix\nimport \"remix_tests.sol\";\n\n// This import is required to use custom transaction context\n// Although it may fail compilation in 'Solidity Compiler' plugin\n// But it will work fine in 'Solidity Unit Testing' plugin\nimport \"remix_accounts.sol\";\nimport \"./newFile_test.sol\";\n\n// File name has to end with '_test.sol', this file can contain more than one testSuite contracts\ncontract testSuite {\n /// 'beforeAll' runs before all other tests\n /// More special functions are: 'beforeEach', 'beforeAll', 'afterEach' & 'afterAll'\n function beforeAll() public {\n // <instantiate contract>\n Assert.equal(uint(1), uint(1), \"1 should be equal to 1\");\n }\n\n function checkSuccess() public {\n // Use 'Assert' methods: https://remix-ide.readthedocs.io/en/latest/assert_library.html\n Assert.ok(2 == 2, \"should be true\");\n Assert.greaterThan(uint(2), uint(1), \"2 should be greater than to 1\");\n Assert.lesserThan(uint(2), uint(3), \"2 should be lesser than to 3\");\n }\n\n function checkSuccess2() public pure returns (bool) {\n // Use the return value (true or false) to test the contract\n return true;\n }\n\n function checkFailure() public {\n Assert.notEqual(uint(1), uint(1), \"1 should not be equal to 1\");\n }\n\n /// Custom Transaction Context: https://remix-ide.readthedocs.io/en/latest/unittesting.html#customization\n /// #sender: account-1\n /// #value: 100\n function checkSenderAndValue() public payable {\n // account index varies 0-9, value is in wei\n Assert.equal(msg.sender, TestsAccounts.getAccount(1), \"Invalid sender\");\n Assert.equal(msg.value, 100, \"Invalid value\");\n }\n}\n",
"file": "tests/newFile_test_test.sol"
},
"remix_tests.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary Assert {\n\n event AssertionEvent(\n bool passed,\n string message,\n string methodName\n );\n\n event AssertionEventUint(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n uint256 expected\n );\n\n event AssertionEventInt(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n int256 expected\n );\n\n event AssertionEventBool(\n bool passed,\n string message,\n string methodName,\n bool returned,\n bool expected\n );\n\n event AssertionEventAddress(\n bool passed,\n string message,\n string methodName,\n address returned,\n address expected\n );\n\n event AssertionEventBytes32(\n bool passed,\n string message,\n string methodName,\n bytes32 returned,\n bytes32 expected\n );\n\n event AssertionEventString(\n bool passed,\n string message,\n string methodName,\n string returned,\n string expected\n );\n\n event AssertionEventUintInt(\n bool passed,\n string message,\n string methodName,\n uint256 returned,\n int256 expected\n );\n\n event AssertionEventIntUint(\n bool passed,\n string message,\n string methodName,\n int256 returned,\n uint256 expected\n );\n\n function ok(bool a, string memory message) public returns (bool result) {\n result = a;\n emit AssertionEvent(result, message, \"ok\");\n }\n\n function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventUint(result, message, \"equal\", a, b);\n }\n\n function equal(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventInt(result, message, \"equal\", a, b);\n }\n\n function equal(bool a, bool b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBool(result, message, \"equal\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function equal(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function equal(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a == b);\n // emit AssertionEvent(result, message);\n //}\n\n function equal(address a, address b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventAddress(result, message, \"equal\", a, b);\n }\n\n function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a == b);\n emit AssertionEventBytes32(result, message, \"equal\", a, b);\n }\n\n function equal(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"equal\", a, b);\n }\n\n function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventUint(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventInt(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bool a, bool b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBool(result, message, \"notEqual\", a, b);\n }\n\n // TODO: only for certain versions of solc\n //function notEqual(fixed a, fixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n // TODO: only for certain versions of solc\n //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {\n // result = (a != b);\n // emit AssertionEvent(result, message);\n //}\n\n function notEqual(address a, address b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventAddress(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {\n result = (a != b);\n emit AssertionEventBytes32(result, message, \"notEqual\", a, b);\n }\n\n function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {\n result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));\n emit AssertionEventString(result, message, \"notEqual\", a, b);\n }\n\n /*----------------- Greater than --------------------*/\n function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventUint(result, message, \"greaterThan\", a, b);\n }\n\n function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a > b);\n emit AssertionEventInt(result, message, \"greaterThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative uint \"a\" always greater\n result = true;\n } else {\n result = (a > uint(b));\n }\n emit AssertionEventUintInt(result, message, \"greaterThan\", a, b);\n }\n function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative uint \"b\" always greater\n result = false;\n } else {\n result = (uint(a) > b);\n }\n emit AssertionEventIntUint(result, message, \"greaterThan\", a, b);\n }\n /*----------------- Lesser than --------------------*/\n function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventUint(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {\n result = (a < b);\n emit AssertionEventInt(result, message, \"lesserThan\", a, b);\n }\n // TODO: safely compare between uint and int\n function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {\n if(b < int(0)) {\n // int is negative int \"b\" always lesser\n result = false;\n } else {\n result = (a < uint(b));\n }\n emit AssertionEventUintInt(result, message, \"lesserThan\", a, b);\n }\n\n function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {\n if(a < int(0)) {\n // int is negative int \"a\" always lesser\n result = true;\n } else {\n result = (uint(a) < b);\n }\n emit AssertionEventIntUint(result, message, \"lesserThan\", a, b);\n }\n}\n",
"file": "remix_tests.sol"
},
"remix_accounts.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary TestsAccounts {\n function getAccount(uint index) pure public returns (address) {\n address[15] memory accounts;\n\t\taccounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;\n\n\t\taccounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;\n\n\t\taccounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;\n\n\t\taccounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;\n\n\t\taccounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;\n\n\t\taccounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;\n\n\t\taccounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;\n\n\t\taccounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7;\n\n\t\taccounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C;\n\n\t\taccounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC;\n\n\t\taccounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;\n\n\t\taccounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;\n\n\t\taccounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;\n\n\t\taccounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225;\n\n\t\taccounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148;\nreturn accounts[index];\n }\n}\n",
"file": "remix_accounts.sol"
},
"tests/newFile_test.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n \npragma solidity >=0.4.22 <0.9.0;\n\n// This import is automatically injected by Remix\nimport \"remix_tests.sol\"; \n\n// This import is required to use custom transaction context\n// Although it may fail compilation in 'Solidity Compiler' plugin\n// But it will work fine in 'Solidity Unit Testing' plugin\nimport \"remix_accounts.sol\";\n// <import file to test>\n\n// File name has to end with '_test.sol', this file can contain more than one testSuite contracts\ncontract testSuite {\n\n /// 'beforeAll' runs before all other tests\n /// More special functions are: 'beforeEach', 'beforeAll', 'afterEach' & 'afterAll'\n function beforeAll() public {\n // <instantiate contract>\n Assert.equal(uint(1), uint(1), \"1 should be equal to 1\");\n }\n\n function checkSuccess() public {\n // Use 'Assert' methods: https://remix-ide.readthedocs.io/en/latest/assert_library.html\n Assert.ok(2 == 2, 'should be true');\n Assert.greaterThan(uint(2), uint(1), \"2 should be greater than to 1\");\n Assert.lesserThan(uint(2), uint(3), \"2 should be lesser than to 3\");\n }\n\n function checkSuccess2() public pure returns (bool) {\n // Use the return value (true or false) to test the contract\n return true;\n }\n \n function checkFailure() public {\n Assert.notEqual(uint(1), uint(1), \"1 should not be equal to 1\");\n }\n\n /// Custom Transaction Context: https://remix-ide.readthedocs.io/en/latest/unittesting.html#customization\n /// #sender: account-1\n /// #value: 100\n function checkSenderAndValue() public payable {\n // account index varies 0-9, value is in wei\n Assert.equal(msg.sender, TestsAccounts.getAccount(1), \"Invalid sender\");\n Assert.equal(msg.value, 100, \"Invalid value\");\n }\n}\n ",
"file": "tests/newFile_test.sol"
}
}
},
"tests/newFile_test.sol": {
"remix_tests.sol": "remix_tests.sol",
"remix_accounts.sol": "remix_accounts.sol"
}
}
// 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: 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));
}
}
{
"name": "hardhat",
"version": "3.12.0",
"description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
"homepage": "https://hardhat.org",
"repository": {
"type": "git",
"url": "https://github.com/NomicFoundation/hardhat",
"directory": "packages/hardhat"
},
"author": "Nomic Foundation",
"license": "MIT",
"type": "module",
"types": "dist/src/index.d.ts",
"bin": {
"hardhat": "./dist/src/cli.js"
},
"exports": {
".": "./dist/src/index.js",
"./config": "./dist/src/config.js",
"./hre": "./dist/src/hre.js",
"./plugins": "./dist/src/plugins.js",
"./internal/lsp-helpers": "./dist/src/lsp-helpers.js",
"./types": "./dist/src/types/index.js",
"./types/arguments": "./dist/src/types/arguments.js",
"./types/artifacts": "./dist/src/types/artifacts.js",
"./types/config": "./dist/src/types/config.js",
"./types/global-options": "./dist/src/types/global-options.js",
"./types/hooks": "./dist/src/types/hooks.js",
"./types/hre": "./dist/src/types/hre.js",
"./types/network": "./dist/src/types/network.js",
"./types/plugins": "./dist/src/types/plugins.js",
"./types/providers": "./dist/src/types/providers.js",
"./types/tasks": "./dist/src/types/tasks.js",
"./types/test": "./dist/src/types/test.js",
"./types/user-interruptions": "./dist/src/types/user-interruptions.js",
"./types/utils": "./dist/src/types/utils.js",
"./types/solidity": "./dist/src/types/solidity.js",
"./console.sol": "./console.sol",
"./internal/coverage": "./dist/src/internal/builtin-plugins/coverage/exports.js",
"./internal/gas-analytics": "./dist/src/internal/builtin-plugins/gas-analytics/exports.js",
"./internal/solidity": "./dist/src/internal/builtin-plugins/solidity/exports.js",
"./utils/contract-names": "./dist/src/utils/contract-names.js",
"./utils/result": "./dist/src/utils/result.js",
"./types/runtime": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
"./builtin-tasks/task-names": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
"./internal/artifacts": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
"./package.json": "./package.json"
},
"keywords": [
"ethereum",
"smart-contracts",
"hardhat"
],
"files": [
"dist/src/",
"src/",
"templates/",
"console.sol",
"skills/",
"CHANGELOG.md",
"LICENSE",
"README.md"
],
"devDependencies": {
"@nomicfoundation/hardhat-node-test-reporter": "^3.1.0",
"@types/adm-zip": "^0.5.8",
"@types/node": "^22.0.0",
"@types/semver": "^7.5.8",
"@types/ws": "^8.5.13",
"c8": "^12.0.0",
"eslint": "9.25.1",
"expect-type": "^1.4.0",
"prettier": "3.9.6",
"rimraf": "^6.1.3",
"typescript": "~6.0.3",
"@nomicfoundation/hardhat-test-utils": "^2.0.3"
},
"dependencies": {
"@nomicfoundation/edr": "0.15.0",
"@nomicfoundation/hardhat-errors": "^3.0.17",
"@nomicfoundation/hardhat-utils": "^4.1.6",
"@nomicfoundation/hardhat-vendored": "^3.0.4",
"@nomicfoundation/hardhat-zod-utils": "^3.0.5",
"@nomicfoundation/solidity-analyzer": "^0.1.1",
"@sentry/core": "^9.4.0",
"adm-zip": "^0.6.0",
"chokidar": "^5.0.0",
"enquirer": "^2.3.0",
"ethereum-cryptography": "^2.2.1",
"micro-eth-signer": "^0.14.0",
"p-map": "^7.0.6",
"resolve.exports": "^2.0.3",
"semver": "^7.8.5",
"tsx": "^4.23.1",
"ws": "^8.21.1",
"zod": "^3.23.8"
},
"scripts": {
"lint": "pnpm eslint && pnpm prettier --check",
"lint:fix": "pnpm eslint --fix && pnpm prettier --write",
"eslint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
"postlint": "eslint \"templates/**/*.ts\"",
"postlint:fix": "eslint --fix \"templates/**/*.ts\"",
"prettier": "prettier \"**/*.{ts,js,md,json}\"",
"test": "node --import tsx/esm --test --test-reporter=@nomicfoundation/hardhat-node-test-reporter \"test/*.ts\" \"test/!(fixture-projects|helpers)/**/*.ts\"",
"test:only": "node --import tsx/esm --test --test-only --test-reporter=@nomicfoundation/hardhat-node-test-reporter \"test/*.ts\" \"test/!(fixture-projects|helpers)/**/*.ts\"",
"test:coverage": "c8 --reporter html --reporter text --all --exclude test --exclude \"src/**/{types,type-extensions}.ts\" --src src node --import tsx/esm --test --test-reporter=@nomicfoundation/hardhat-node-test-reporter \"test/*.ts\" \"test/!(fixture-projects|helpers)/**/*.ts\"",
"pretest": "pnpm build",
"pretest:only": "pnpm build",
"build": "tsc --build .",
"clean": "rimraf dist ./test/fixture-projects/*-tmp-*-*-*-*-*"
}
}
// 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 two typescript files which help to deploy the 'Storage' contract using 'ethers.js' libraries.
For the deployment of any other contract, just update the contract name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.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, 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.
This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"sepolia:11155111": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "611e5261004d600b8282823980515f1a6073146041577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610140575f3560e01c806377c6d463116100c1578063aea8895211610085578063aea88952146104c8578063b8f2853114610504578063bfba5dd614610540578063e8c2cb161461057c578063ea79dd79146105b8578063f5bae6b6146105f457610140565b806377c6d4631461039c5780638c45cb97146103d85780639c0b433614610414578063a079f1a314610450578063abcd79601461048c57610140565b806349f979391161010857806349f97939146102705780634e3e4035146102ac578063556fe562146102e8578063561015e214610324578063767392b31461036057610140565b80630897e4c71461014457806318211bfb1461018057806339df137f146101bc57806344781a00146101f857806344b7f24814610234575b5f5ffd5b81801561014f575f5ffd5b5061016a60048036038101906101659190610f32565b610630565b6040516101779190610fb8565b60405180910390f35b81801561018b575f5ffd5b506101a660048036038101906101a19190610fd1565b61068b565b6040516101b39190610fb8565b60405180910390f35b8180156101c7575f5ffd5b506101e260048036038101906101dd9190611067565b6106e6565b6040516101ef9190610fb8565b60405180910390f35b818015610203575f5ffd5b5061021e600480360381019061021991906110c1565b610729565b60405161022b9190610fb8565b60405180910390f35b81801561023f575f5ffd5b5061025a6004803603810190610255919061112d565b610778565b6040516102679190610fb8565b60405180910390f35b81801561027b575f5ffd5b5061029660048036038101906102919190611199565b6107c2565b6040516102a39190610fb8565b60405180910390f35b8180156102b7575f5ffd5b506102d260048036038101906102cd919061112d565b610859565b6040516102df9190610fb8565b60405180910390f35b8180156102f3575f5ffd5b5061030e60048036038101906103099190611270565b6108a4565b60405161031b9190610fb8565b60405180910390f35b81801561032f575f5ffd5b5061034a600480360381019061034591906112dc565b6108ef565b6040516103579190610fb8565b60405180910390f35b81801561036b575f5ffd5b50610386600480360381019061038191906110c1565b61093a565b6040516103939190610fb8565b60405180910390f35b8180156103a7575f5ffd5b506103c260048036038101906103bd9190610f32565b610988565b6040516103cf9190610fb8565b60405180910390f35b8180156103e3575f5ffd5b506103fe60048036038101906103f99190610fd1565b6109e4565b60405161040b9190610fb8565b60405180910390f35b81801561041f575f5ffd5b5061043a6004803603810190610435919061112d565b610a40565b6040516104479190610fb8565b60405180910390f35b81801561045b575f5ffd5b50610476600480360381019061047191906112dc565b610a8a565b6040516104839190610fb8565b60405180910390f35b818015610497575f5ffd5b506104b260048036038101906104ad91906112dc565b610ad4565b6040516104bf9190610fb8565b60405180910390f35b8180156104d3575f5ffd5b506104ee60048036038101906104e991906112dc565b610b1e565b6040516104fb9190610fb8565b60405180910390f35b81801561050f575f5ffd5b5061052a600480360381019061052591906113a2565b610b68565b6040516105379190610fb8565b60405180910390f35b81801561054b575f5ffd5b50610566600480360381019061056191906113a2565b610bdf565b6040516105739190610fb8565b60405180910390f35b818015610587575f5ffd5b506105a2600480360381019061059d9190611199565b610c55565b6040516105af9190610fb8565b60405180910390f35b8180156105c3575f5ffd5b506105de60048036038101906105d99190611270565b610ceb565b6040516105eb9190610fb8565b60405180910390f35b8180156105ff575f5ffd5b5061061a6004803603810190610615919061112d565b610d35565b6040516106279190610fb8565b60405180910390f35b5f5f841215610641575f9050610647565b82841190505b7f1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e28183868660405161067c94939291906114e5565b60405180910390a19392505050565b5f5f83121561069c575f90506106a2565b82841090505b7f14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe8818386866040516106d7949392919061158c565b60405180910390a19392505050565b5f8290507fbbf85d637d70ccacc5b8edb602351ba3dec7bc069d69235c3529ef3f453d01f1818360405161071b929190611633565b60405180910390a192915050565b5f821515841515141590507ff7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea58183868660405161076994939291906116be565b60405180910390a19392505050565b5f82841290507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151818386866040516107b3949392919061171b565b60405180910390a19392505050565b5f826040516020016107d491906117b2565b60405160208183030381529060405280519060200120846040516020016107fb91906117b2565b60405160208183030381529060405280519060200120141590507f772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f8183868660405161084a94939291906117c8565b60405180910390a19392505050565b5f8284141590507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b18151818386866040516108959493929190611833565b60405180910390a19392505050565b5f8284141590507f80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd28818386866040516108e0949392919061189f565b60405180910390a19392505050565b5f8284141590507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a8183868660405161092b94939291906118fc565b60405180910390a19392505050565b5f8215158415151490507ff7b49aa0711ceec1ded951e7e1e0f5068e1b494431e8aafd4afd3c5fce1bcea58183868660405161097994939291906119a3565b60405180910390a19392505050565b5f5f84121561099a57600190506109a0565b82841090505b7f1aee88e0b11c6f778ee0be69b5a108735a20e3d68f5729c851f81e10fb0357e2818386866040516109d59493929190611a00565b60405180910390a19392505050565b5f5f8312156109f657600190506109fc565b82841190505b7f14bc841bf51d20c0dc7caa87b92cc8ffff7a0427ab3f16c1800f89f1cd14afe881838686604051610a319493929190611a5d565b60405180910390a19392505050565b5f82841390507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b1815181838686604051610a7b9493929190611aba565b60405180910390a19392505050565b5f82841190507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610ac59493929190611b17565b60405180910390a19392505050565b5f82841490507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610b0f9493929190611b74565b60405180910390a19392505050565b5f82841090507f968b7a5d7c5bcc2e8f9f583456a62c310b1b4e509906c1c1bb1a5aff86cc1e1a81838686604051610b599493929190611bd1565b60405180910390a19392505050565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141590507fac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b81838686604051610bd09493929190611c3d565b60405180910390a19392505050565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490507fac36fadfa7a97083276a489f3e00cb5d4fcd13bbfdb3a78a0014fd48d4b46d9b81838686604051610c469493929190611c9a565b60405180910390a19392505050565b5f82604051602001610c6791906117b2565b6040516020818303038152906040528051906020012084604051602001610c8e91906117b2565b604051602081830303815290604052805190602001201490507f772eb34cc47d8c18199f27c5bfdb20838544f0058ef8afdd2debec5f6edb455f81838686604051610cdc9493929190611cf7565b60405180910390a19392505050565b5f82841490507f80ccaff7f7d9b95ab49ddd43778ee01cfda842a6269bed42e4e37929bc57fd2881838686604051610d269493929190611d62565b60405180910390a19392505050565b5f82841490507f06c5fd13661d229189d43a6a38e86721af51ed7065a4b6f43da4bd8cd1b1815181838686604051610d709493929190611dbf565b60405180910390a19392505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b610da281610d90565b8114610dac575f5ffd5b50565b5f81359050610dbd81610d99565b92915050565b5f819050919050565b610dd581610dc3565b8114610ddf575f5ffd5b50565b5f81359050610df081610dcc565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610e4482610dfe565b810181811067ffffffffffffffff82111715610e6357610e62610e0e565b5b80604052505050565b5f610e75610d7f565b9050610e818282610e3b565b919050565b5f67ffffffffffffffff821115610ea057610e9f610e0e565b5b610ea982610dfe565b9050602081019050919050565b828183375f83830152505050565b5f610ed6610ed184610e86565b610e6c565b905082815260208101848484011115610ef257610ef1610dfa565b5b610efd848285610eb6565b509392505050565b5f82601f830112610f1957610f18610df6565b5b8135610f29848260208601610ec4565b91505092915050565b5f5f5f60608486031215610f4957610f48610d88565b5b5f610f5686828701610daf565b9350506020610f6786828701610de2565b925050604084013567ffffffffffffffff811115610f8857610f87610d8c565b5b610f9486828701610f05565b9150509250925092565b5f8115159050919050565b610fb281610f9e565b82525050565b5f602082019050610fcb5f830184610fa9565b92915050565b5f5f5f60608486031215610fe857610fe7610d88565b5b5f610ff586828701610de2565b935050602061100686828701610daf565b925050604084013567ffffffffffffffff81111561102757611026610d8c565b5b61103386828701610f05565b9150509250925092565b61104681610f9e565b8114611050575f5ffd5b50565b5f813590506110618161103d565b92915050565b5f5f6040838503121561107d5761107c610d88565b5b5f61108a85828601611053565b925050602083013567ffffffffffffffff8111156110ab576110aa610d8c565b5b6110b785828601610f05565b9150509250929050565b5f5f5f606084860312156110d8576110d7610d88565b5b5f6110e586828701611053565b93505060206110f686828701611053565b925050604084013567ffffffffffffffff81111561111757611116610d8c565b5b61112386828701610f05565b9150509250925092565b5f5f5f6060848603121561114457611143610d88565b5b5f61115186828701610daf565b935050602061116286828701610daf565b925050604084013567ffffffffffffffff81111561118357611182610d8c565b5b61118f86828701610f05565b9150509250925092565b5f5f5f606084860312156111b0576111af610d88565b5b5f84013567ffffffffffffffff8111156111cd576111cc610d8c565b5b6111d986828701610f05565b935050602084013567ffffffffffffffff8111156111fa576111f9610d8c565b5b61120686828701610f05565b925050604084013567ffffffffffffffff81111561122757611226610d8c565b5b61123386828701610f05565b9150509250925092565b5f819050919050565b61124f8161123d565b8114611259575f5ffd5b50565b5f8135905061126a81611246565b92915050565b5f5f5f6060848603121561128757611286610d88565b5b5f6112948682870161125c565b93505060206112a58682870161125c565b925050604084013567ffffffffffffffff8111156112c6576112c5610d8c565b5b6112d286828701610f05565b9150509250925092565b5f5f5f606084860312156112f3576112f2610d88565b5b5f61130086828701610de2565b935050602061131186828701610de2565b925050604084013567ffffffffffffffff81111561133257611331610d8c565b5b61133e86828701610f05565b9150509250925092565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61137182611348565b9050919050565b61138181611367565b811461138b575f5ffd5b50565b5f8135905061139c81611378565b92915050565b5f5f5f606084860312156113b9576113b8610d88565b5b5f6113c68682870161138e565b93505060206113d78682870161138e565b925050604084013567ffffffffffffffff8111156113f8576113f7610d8c565b5b61140486828701610f05565b9150509250925092565b61141781610f9e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61144f8261141d565b6114598185611427565b9350611469818560208601611437565b61147281610dfe565b840191505092915050565b7f677265617465725468616e0000000000000000000000000000000000000000005f82015250565b5f6114b1600b83611427565b91506114bc8261147d565b602082019050919050565b6114d081610d90565b82525050565b6114df81610dc3565b82525050565b5f60a0820190506114f85f83018761140e565b818103602083015261150a8186611445565b9050818103604083015261151d816114a5565b905061152c60608301856114c7565b61153960808301846114d6565b95945050505050565b7f6c65737365725468616e000000000000000000000000000000000000000000005f82015250565b5f611576600a83611427565b915061158182611542565b602082019050919050565b5f60a08201905061159f5f83018761140e565b81810360208301526115b18186611445565b905081810360408301526115c48161156a565b90506115d360608301856114d6565b6115e060808301846114c7565b95945050505050565b7f6f6b0000000000000000000000000000000000000000000000000000000000005f82015250565b5f61161d600283611427565b9150611628826115e9565b602082019050919050565b5f6060820190506116465f83018561140e565b81810360208301526116588184611445565b9050818103604083015261166b81611611565b90509392505050565b7f6e6f74457175616c0000000000000000000000000000000000000000000000005f82015250565b5f6116a8600883611427565b91506116b382611674565b602082019050919050565b5f60a0820190506116d15f83018761140e565b81810360208301526116e38186611445565b905081810360408301526116f68161169c565b9050611705606083018561140e565b611712608083018461140e565b95945050505050565b5f60a08201905061172e5f83018761140e565b81810360208301526117408186611445565b905081810360408301526117538161156a565b905061176260608301856114c7565b61176f60808301846114c7565b95945050505050565b5f81905092915050565b5f61178c8261141d565b6117968185611778565b93506117a6818560208601611437565b80840191505092915050565b5f6117bd8284611782565b915081905092915050565b5f60a0820190506117db5f83018761140e565b81810360208301526117ed8186611445565b905081810360408301526118008161169c565b905081810360608301526118148185611445565b905081810360808301526118288184611445565b905095945050505050565b5f60a0820190506118465f83018761140e565b81810360208301526118588186611445565b9050818103604083015261186b8161169c565b905061187a60608301856114c7565b61188760808301846114c7565b95945050505050565b6118998161123d565b82525050565b5f60a0820190506118b25f83018761140e565b81810360208301526118c48186611445565b905081810360408301526118d78161169c565b90506118e66060830185611890565b6118f36080830184611890565b95945050505050565b5f60a08201905061190f5f83018761140e565b81810360208301526119218186611445565b905081810360408301526119348161169c565b905061194360608301856114d6565b61195060808301846114d6565b95945050505050565b7f657175616c0000000000000000000000000000000000000000000000000000005f82015250565b5f61198d600583611427565b915061199882611959565b602082019050919050565b5f60a0820190506119b65f83018761140e565b81810360208301526119c88186611445565b905081810360408301526119db81611981565b90506119ea606083018561140e565b6119f7608083018461140e565b95945050505050565b5f60a082019050611a135f83018761140e565b8181036020830152611a258186611445565b90508181036040830152611a388161156a565b9050611a4760608301856114c7565b611a5460808301846114d6565b95945050505050565b5f60a082019050611a705f83018761140e565b8181036020830152611a828186611445565b90508181036040830152611a95816114a5565b9050611aa460608301856114d6565b611ab160808301846114c7565b95945050505050565b5f60a082019050611acd5f83018761140e565b8181036020830152611adf8186611445565b90508181036040830152611af2816114a5565b9050611b0160608301856114c7565b611b0e60808301846114c7565b95945050505050565b5f60a082019050611b2a5f83018761140e565b8181036020830152611b3c8186611445565b90508181036040830152611b4f816114a5565b9050611b5e60608301856114d6565b611b6b60808301846114d6565b95945050505050565b5f60a082019050611b875f83018761140e565b8181036020830152611b998186611445565b90508181036040830152611bac81611981565b9050611bbb60608301856114d6565b611bc860808301846114d6565b95945050505050565b5f60a082019050611be45f83018761140e565b8181036020830152611bf68186611445565b90508181036040830152611c098161156a565b9050611c1860608301856114d6565b611c2560808301846114d6565b95945050505050565b611c3781611367565b82525050565b5f60a082019050611c505f83018761140e565b8181036020830152611c628186611445565b90508181036040830152611c758161169c565b9050611c846060830185611c2e565b611c916080830184611c2e565b95945050505050565b5f60a082019050611cad5f83018761140e565b8181036020830152611cbf8186611445565b90508181036040830152611cd281611981565b9050611ce16060830185611c2e565b611cee6080830184611c2e565b95945050505050565b5f60a082019050611d0a5f83018761140e565b8181036020830152611d1c8186611445565b90508181036040830152611d2f81611981565b90508181036060830152611d438185611445565b90508181036080830152611d578184611445565b905095945050505050565b5f60a082019050611d755f83018761140e565b8181036020830152611d878186611445565b90508181036040830152611d9a81611981565b9050611da96060830185611890565b611db66080830184611890565b95945050505050565b5f60a082019050611dd25f83018761140e565b8181036020830152611de48186611445565b90508181036040830152611df781611981565b9050611e0660608301856114c7565b611e1360808301846114c7565b9594505050505056fea2646970667358221220d3990a49a6ea0b4bcabe899ec69efac11662671484ac25755b91ae1413c1270e64736f6c63430008220033",
"opcodes": "PUSH2 0x1E52 PUSH2 0x4D PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x41 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x140 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x77C6D463 GT PUSH2 0xC1 JUMPI DUP1 PUSH4 0xAEA88952 GT PUSH2 0x85 JUMPI DUP1 PUSH4 0xAEA88952 EQ PUSH2 0x4C8 JUMPI DUP1 PUSH4 0xB8F28531 EQ PUSH2 0x504 JUMPI DUP1 PUSH4 0xBFBA5DD6 EQ PUSH2 0x540 JUMPI DUP1 PUSH4 0xE8C2CB16 EQ PUSH2 0x57C JUMPI DUP1 PUSH4 0xEA79DD79 EQ PUSH2 0x5B8 JUMPI DUP1 PUSH4 0xF5BAE6B6 EQ PUSH2 0x5F4 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x77C6D463 EQ PUSH2 0x39C JUMPI DUP1 PUSH4 0x8C45CB97 EQ PUSH2 0x3D8 JUMPI DUP1 PUSH4 0x9C0B4336 EQ PUSH2 0x414 JUMPI DUP1 PUSH4 0xA079F1A3 EQ PUSH2 0x450 JUMPI DUP1 PUSH4 0xABCD7960 EQ PUSH2 0x48C JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x49F97939 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x49F97939 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x4E3E4035 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x556FE562 EQ PUSH2 0x2E8 JUMPI DUP1 PUSH4 0x561015E2 EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0x767392B3 EQ PUSH2 0x360 JUMPI PUSH2 0x140 JUMP JUMPDEST DUP1 PUSH4 0x897E4C7 EQ PUSH2 0x144 JUMPI DUP1 PUSH4 0x18211BFB EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x39DF137F EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x44781A00 EQ PUSH2 0x1F8 JUMPI DUP1 PUSH4 0x44B7F248 EQ PUSH2 0x234 JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x14F JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0xF32 JUMP JUMPDEST PUSH2 0x630 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x177 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x18B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0xFD1 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x1C7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x1E2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DD SWAP2 SWAP1 PUSH2 0x1067 JUMP JUMPDEST PUSH2 0x6E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EF SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x203 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x21E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x219 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH2 0x729 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x22B SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x23F JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x25A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x112D JUMP JUMPDEST PUSH2 0x778 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x267 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x27B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x296 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x291 SWAP2 SWAP1 PUSH2 0x1199 JUMP JUMPDEST PUSH2 0x7C2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A3 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2B7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x2D2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2CD SWAP2 SWAP1 PUSH2 0x112D JUMP JUMPDEST PUSH2 0x859 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DF SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x2F3 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x30E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x309 SWAP2 SWAP1 PUSH2 0x1270 JUMP JUMPDEST PUSH2 0x8A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x32F JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x34A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x345 SWAP2 SWAP1 PUSH2 0x12DC JUMP JUMPDEST PUSH2 0x8EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x357 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x36B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x386 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x381 SWAP2 SWAP1 PUSH2 0x10C1 JUMP JUMPDEST PUSH2 0x93A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3A7 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x3C2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3BD SWAP2 SWAP1 PUSH2 0xF32 JUMP JUMPDEST PUSH2 0x988 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3CF SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x3FE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3F9 SWAP2 SWAP1 PUSH2 0xFD1 JUMP JUMPDEST PUSH2 0x9E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40B SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x41F JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x43A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x435 SWAP2 SWAP1 PUSH2 0x112D JUMP JUMPDEST PUSH2 0xA40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x447 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x45B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x476 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x471 SWAP2 SWAP1 PUSH2 0x12DC JUMP JUMPDEST PUSH2 0xA8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x483 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x497 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x4B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4AD SWAP2 SWAP1 PUSH2 0x12DC JUMP JUMPDEST PUSH2 0xAD4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4BF SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x4D3 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x4EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E9 SWAP2 SWAP1 PUSH2 0x12DC JUMP JUMPDEST PUSH2 0xB1E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4FB SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x50F JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x52A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x525 SWAP2 SWAP1 PUSH2 0x13A2 JUMP JUMPDEST PUSH2 0xB68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x537 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x54B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x566 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x561 SWAP2 SWAP1 PUSH2 0x13A2 JUMP JUMPDEST PUSH2 0xBDF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x573 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x587 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x5A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x59D SWAP2 SWAP1 PUSH2 0x1199 JUMP JUMPDEST PUSH2 0xC55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5AF SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5C3 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x5DE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5D9 SWAP2 SWAP1 PUSH2 0x1270 JUMP JUMPDEST PUSH2 0xCEB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5EB SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x5FF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH2 0x61A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x615 SWAP2 SWAP1 PUSH2 0x112D JUMP JUMPDEST PUSH2 0xD35 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x627 SWAP2 SWAP1 PUSH2 0xFB8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 PUSH0 DUP5 SLT ISZERO PUSH2 0x641 JUMPI PUSH0 SWAP1 POP PUSH2 0x647 JUMP JUMPDEST DUP3 DUP5 GT SWAP1 POP JUMPDEST PUSH32 0x1AEE88E0B11C6F778EE0BE69B5A108735A20E3D68F5729C851F81E10FB0357E2 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x67C SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x14E5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH0 DUP4 SLT ISZERO PUSH2 0x69C JUMPI PUSH0 SWAP1 POP PUSH2 0x6A2 JUMP JUMPDEST DUP3 DUP5 LT SWAP1 POP JUMPDEST PUSH32 0x14BC841BF51D20C0DC7CAA87B92CC8FFFF7A0427AB3F16C1800F89F1CD14AFE8 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x6D7 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x158C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 SWAP1 POP PUSH32 0xBBF85D637D70CCACC5B8EDB602351BA3DEC7BC069D69235C3529EF3F453D01F1 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x71B SWAP3 SWAP2 SWAP1 PUSH2 0x1633 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 ISZERO ISZERO DUP5 ISZERO ISZERO EQ ISZERO SWAP1 POP PUSH32 0xF7B49AA0711CEEC1DED951E7E1E0F5068E1B494431E8AAFD4AFD3C5FCE1BCEA5 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x769 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 SLT SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x7B3 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x171B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7D4 SWAP2 SWAP1 PUSH2 0x17B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7FB SWAP2 SWAP1 PUSH2 0x17B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO SWAP1 POP PUSH32 0x772EB34CC47D8C18199F27C5BFDB20838544F0058EF8AFDD2DEBEC5F6EDB455F DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x84A SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x17C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x895 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1833 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x80CCAFF7F7D9B95AB49DDD43778EE01CFDA842A6269BED42E4E37929BC57FD28 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x8E0 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x189F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ ISZERO SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x92B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x18FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 ISZERO ISZERO DUP5 ISZERO ISZERO EQ SWAP1 POP PUSH32 0xF7B49AA0711CEEC1DED951E7E1E0F5068E1B494431E8AAFD4AFD3C5FCE1BCEA5 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x979 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH0 DUP5 SLT ISZERO PUSH2 0x99A JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x9A0 JUMP JUMPDEST DUP3 DUP5 LT SWAP1 POP JUMPDEST PUSH32 0x1AEE88E0B11C6F778EE0BE69B5A108735A20E3D68F5729C851F81E10FB0357E2 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x9D5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A00 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH0 DUP4 SLT ISZERO PUSH2 0x9F6 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x9FC JUMP JUMPDEST DUP3 DUP5 GT SWAP1 POP JUMPDEST PUSH32 0x14BC841BF51D20C0DC7CAA87B92CC8FFFF7A0427AB3F16C1800F89F1CD14AFE8 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xA31 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 SGT SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xA7B SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1ABA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 GT SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xAC5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B17 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xB0F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 LT SWAP1 POP PUSH32 0x968B7A5D7C5BCC2E8F9F583456A62C310B1B4E509906C1C1BB1A5AFF86CC1E1A DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xB59 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1BD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH32 0xAC36FADFA7A97083276A489F3E00CB5D4FCD13BBFDB3A78A0014FD48D4B46D9B DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xBD0 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C3D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP PUSH32 0xAC36FADFA7A97083276A489F3E00CB5D4FCD13BBFDB3A78A0014FD48D4B46D9B DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xC46 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1C9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC67 SWAP2 SWAP1 PUSH2 0x17B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xC8E SWAP2 SWAP1 PUSH2 0x17B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ SWAP1 POP PUSH32 0x772EB34CC47D8C18199F27C5BFDB20838544F0058EF8AFDD2DEBEC5F6EDB455F DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xCDC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1CF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x80CCAFF7F7D9B95AB49DDD43778EE01CFDA842A6269BED42E4E37929BC57FD28 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD26 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D62 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP5 EQ SWAP1 POP PUSH32 0x6C5FD13661D229189D43A6A38E86721AF51ED7065A4B6F43DA4BD8CD1B18151 DUP2 DUP4 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD70 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DBF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDA2 DUP2 PUSH2 0xD90 JUMP JUMPDEST DUP2 EQ PUSH2 0xDAC JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDBD DUP2 PUSH2 0xD99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDD5 DUP2 PUSH2 0xDC3 JUMP JUMPDEST DUP2 EQ PUSH2 0xDDF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDF0 DUP2 PUSH2 0xDCC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0xE44 DUP3 PUSH2 0xDFE JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xE63 JUMPI PUSH2 0xE62 PUSH2 0xE0E JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xE75 PUSH2 0xD7F JUMP JUMPDEST SWAP1 POP PUSH2 0xE81 DUP3 DUP3 PUSH2 0xE3B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xE0E JUMP JUMPDEST JUMPDEST PUSH2 0xEA9 DUP3 PUSH2 0xDFE JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0xED6 PUSH2 0xED1 DUP5 PUSH2 0xE86 JUMP JUMPDEST PUSH2 0xE6C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xEF2 JUMPI PUSH2 0xEF1 PUSH2 0xDFA JUMP JUMPDEST JUMPDEST PUSH2 0xEFD DUP5 DUP3 DUP6 PUSH2 0xEB6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF19 JUMPI PUSH2 0xF18 PUSH2 0xDF6 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xF29 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF49 JUMPI PUSH2 0xF48 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xF56 DUP7 DUP3 DUP8 ADD PUSH2 0xDAF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xF67 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF88 JUMPI PUSH2 0xF87 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0xF94 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFB2 DUP2 PUSH2 0xF9E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFCB PUSH0 DUP4 ADD DUP5 PUSH2 0xFA9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xFE8 JUMPI PUSH2 0xFE7 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xFF5 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1006 DUP7 DUP3 DUP8 ADD PUSH2 0xDAF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1027 JUMPI PUSH2 0x1026 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x1033 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x1046 DUP2 PUSH2 0xF9E JUMP JUMPDEST DUP2 EQ PUSH2 0x1050 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1061 DUP2 PUSH2 0x103D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x107D JUMPI PUSH2 0x107C PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x108A DUP6 DUP3 DUP7 ADD PUSH2 0x1053 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10AB JUMPI PUSH2 0x10AA PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x10B7 DUP6 DUP3 DUP7 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x10D8 JUMPI PUSH2 0x10D7 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x10E5 DUP7 DUP3 DUP8 ADD PUSH2 0x1053 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x10F6 DUP7 DUP3 DUP8 ADD PUSH2 0x1053 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1117 JUMPI PUSH2 0x1116 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x1123 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1144 JUMPI PUSH2 0x1143 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1151 DUP7 DUP3 DUP8 ADD PUSH2 0xDAF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1162 DUP7 DUP3 DUP8 ADD PUSH2 0xDAF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1183 JUMPI PUSH2 0x1182 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x118F DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11B0 JUMPI PUSH2 0x11AF PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11CD JUMPI PUSH2 0x11CC PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x11D9 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11FA JUMPI PUSH2 0x11F9 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x1206 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1227 JUMPI PUSH2 0x1226 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x1233 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x124F DUP2 PUSH2 0x123D JUMP JUMPDEST DUP2 EQ PUSH2 0x1259 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x126A DUP2 PUSH2 0x1246 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1287 JUMPI PUSH2 0x1286 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1294 DUP7 DUP3 DUP8 ADD PUSH2 0x125C JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x12A5 DUP7 DUP3 DUP8 ADD PUSH2 0x125C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x12C6 JUMPI PUSH2 0x12C5 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x12D2 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12F3 JUMPI PUSH2 0x12F2 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1300 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1311 DUP7 DUP3 DUP8 ADD PUSH2 0xDE2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1332 JUMPI PUSH2 0x1331 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x133E DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x1371 DUP3 PUSH2 0x1348 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1381 DUP2 PUSH2 0x1367 JUMP JUMPDEST DUP2 EQ PUSH2 0x138B JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x139C DUP2 PUSH2 0x1378 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH0 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13B9 JUMPI PUSH2 0x13B8 PUSH2 0xD88 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x13C6 DUP7 DUP3 DUP8 ADD PUSH2 0x138E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x13D7 DUP7 DUP3 DUP8 ADD PUSH2 0x138E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x13F8 JUMPI PUSH2 0x13F7 PUSH2 0xD8C JUMP JUMPDEST JUMPDEST PUSH2 0x1404 DUP7 DUP3 DUP8 ADD PUSH2 0xF05 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x1417 DUP2 PUSH2 0xF9E JUMP JUMPDEST DUP3 MSTORE 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 DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x144F DUP3 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x1459 DUP2 DUP6 PUSH2 0x1427 JUMP JUMPDEST SWAP4 POP PUSH2 0x1469 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1437 JUMP JUMPDEST PUSH2 0x1472 DUP2 PUSH2 0xDFE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x677265617465725468616E000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x14B1 PUSH1 0xB DUP4 PUSH2 0x1427 JUMP JUMPDEST SWAP2 POP PUSH2 0x14BC DUP3 PUSH2 0x147D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14D0 DUP2 PUSH2 0xD90 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x14DF DUP2 PUSH2 0xDC3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x14F8 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x150A DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x151D DUP2 PUSH2 0x14A5 JUMP JUMPDEST SWAP1 POP PUSH2 0x152C PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x1539 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6C65737365725468616E00000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1576 PUSH1 0xA DUP4 PUSH2 0x1427 JUMP JUMPDEST SWAP2 POP PUSH2 0x1581 DUP3 PUSH2 0x1542 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x159F PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x15B1 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x15C4 DUP2 PUSH2 0x156A JUMP JUMPDEST SWAP1 POP PUSH2 0x15D3 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x15E0 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x6F6B000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x161D PUSH1 0x2 DUP4 PUSH2 0x1427 JUMP JUMPDEST SWAP2 POP PUSH2 0x1628 DUP3 PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1646 PUSH0 DUP4 ADD DUP6 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1658 DUP2 DUP5 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x166B DUP2 PUSH2 0x1611 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x6E6F74457175616C000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x16A8 PUSH1 0x8 DUP4 PUSH2 0x1427 JUMP JUMPDEST SWAP2 POP PUSH2 0x16B3 DUP3 PUSH2 0x1674 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x16D1 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x16E3 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x16F6 DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP PUSH2 0x1705 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x140E JUMP JUMPDEST PUSH2 0x1712 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x140E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x172E PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1740 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1753 DUP2 PUSH2 0x156A JUMP JUMPDEST SWAP1 POP PUSH2 0x1762 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x176F PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x178C DUP3 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x1796 DUP2 DUP6 PUSH2 0x1778 JUMP JUMPDEST SWAP4 POP PUSH2 0x17A6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1437 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x17BD DUP3 DUP5 PUSH2 0x1782 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x17DB PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x17ED DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1800 DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x1814 DUP2 DUP6 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1828 DUP2 DUP5 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1846 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1858 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x186B DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP PUSH2 0x187A PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x1887 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1899 DUP2 PUSH2 0x123D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x18B2 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x18C4 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x18D7 DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP PUSH2 0x18E6 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1890 JUMP JUMPDEST PUSH2 0x18F3 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1890 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x190F PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1921 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1934 DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP PUSH2 0x1943 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x1950 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x657175616C000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x198D PUSH1 0x5 DUP4 PUSH2 0x1427 JUMP JUMPDEST SWAP2 POP PUSH2 0x1998 DUP3 PUSH2 0x1959 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x19B6 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x19C8 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x19DB DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP PUSH2 0x19EA PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x140E JUMP JUMPDEST PUSH2 0x19F7 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x140E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1A13 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1A25 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1A38 DUP2 PUSH2 0x156A JUMP JUMPDEST SWAP1 POP PUSH2 0x1A47 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x1A54 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1A70 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1A82 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1A95 DUP2 PUSH2 0x14A5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1AA4 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x1AB1 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1ACD PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1ADF DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1AF2 DUP2 PUSH2 0x14A5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B01 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x1B0E PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B2A PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1B3C DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1B4F DUP2 PUSH2 0x14A5 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B5E PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x1B6B PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1B87 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1B99 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1BAC DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP PUSH2 0x1BBB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x1BC8 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1BE4 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1BF6 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1C09 DUP2 PUSH2 0x156A JUMP JUMPDEST SWAP1 POP PUSH2 0x1C18 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x1C25 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1C37 DUP2 PUSH2 0x1367 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1C50 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C62 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1C75 DUP2 PUSH2 0x169C JUMP JUMPDEST SWAP1 POP PUSH2 0x1C84 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x1C91 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1C2E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1CAD PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1CBF DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1CD2 DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP PUSH2 0x1CE1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1C2E JUMP JUMPDEST PUSH2 0x1CEE PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1C2E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1D0A PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1D1C DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1D2F DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x1D43 DUP2 DUP6 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1D57 DUP2 DUP5 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1D75 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1D87 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1D9A DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP PUSH2 0x1DA9 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x1890 JUMP JUMPDEST PUSH2 0x1DB6 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x1890 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1DD2 PUSH0 DUP4 ADD DUP8 PUSH2 0x140E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1DE4 DUP2 DUP7 PUSH2 0x1445 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1DF7 DUP2 PUSH2 0x1981 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E06 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x14C7 JUMP JUMPDEST PUSH2 0x1E13 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x14C7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD3 SWAP10 EXP BLOBHASH 0xA6 0xEA SIGNEXTEND 0x4B 0xCA 0xBE DUP10 SWAP15 0xC6 SWAP15 STATICCALL 0xC1 AND PUSH3 0x671484 0xAC 0x25 PUSH22 0x5B91AE1413C1270E64736F6C63430008220033000000 ",
"sourceMap": "63:6752:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@equal_152": {
"entryPoint": 2772,
"id": 152,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_179": {
"entryPoint": 3381,
"id": 179,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_206": {
"entryPoint": 2362,
"id": 206,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_233": {
"entryPoint": 3039,
"id": 233,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_260": {
"entryPoint": 3307,
"id": 260,
"parameterSlots": 3,
"returnSlots": 1
},
"@equal_297": {
"entryPoint": 3157,
"id": 297,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_496": {
"entryPoint": 2698,
"id": 496,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_523": {
"entryPoint": 2624,
"id": 523,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_566": {
"entryPoint": 2532,
"id": 566,
"parameterSlots": 3,
"returnSlots": 1
},
"@greaterThan_609": {
"entryPoint": 1584,
"id": 609,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_636": {
"entryPoint": 2846,
"id": 636,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_663": {
"entryPoint": 1912,
"id": 663,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_706": {
"entryPoint": 1675,
"id": 706,
"parameterSlots": 3,
"returnSlots": 1
},
"@lesserThan_749": {
"entryPoint": 2440,
"id": 749,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_324": {
"entryPoint": 2287,
"id": 324,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_351": {
"entryPoint": 2137,
"id": 351,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_378": {
"entryPoint": 1833,
"id": 378,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_405": {
"entryPoint": 2920,
"id": 405,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_432": {
"entryPoint": 2212,
"id": 432,
"parameterSlots": 3,
"returnSlots": 1
},
"@notEqual_469": {
"entryPoint": 1986,
"id": 469,
"parameterSlots": 3,
"returnSlots": 1
},
"@ok_125": {
"entryPoint": 1766,
"id": 125,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 3780,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 5006,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool": {
"entryPoint": 4179,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 4700,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_int256": {
"entryPoint": 3503,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 3845,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 3554,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_string_memory_ptr": {
"entryPoint": 5026,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_boolt_boolt_string_memory_ptr": {
"entryPoint": 4289,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_boolt_string_memory_ptr": {
"entryPoint": 4199,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bytes32t_bytes32t_string_memory_ptr": {
"entryPoint": 4720,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_int256t_int256t_string_memory_ptr": {
"entryPoint": 4397,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_int256t_uint256t_string_memory_ptr": {
"entryPoint": 3890,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr": {
"entryPoint": 4505,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256t_int256t_string_memory_ptr": {
"entryPoint": 4049,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr": {
"entryPoint": 4828,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 7214,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 5134,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack_library": {
"entryPoint": 4009,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 6288,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_int256_to_t_int256_fromStack": {
"entryPoint": 5319,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5189,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 6018,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5649,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6529,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5285,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5482,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5788,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 5334,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 6066,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed": {
"entryPoint": 4024,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8__to_t_bool_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5683,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_address_t_address__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address__fromStack_reversed": {
"entryPoint": 7322,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_bool_t_bool__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_bool__fromStack_reversed": {
"entryPoint": 6563,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_bytes32_t_bytes32__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed": {
"entryPoint": 7522,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 7615,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_string_memory_ptr_t_string_memory_ptr__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 7415,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 7028,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 6842,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_int256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_uint256__fromStack_reversed": {
"entryPoint": 5349,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_uint256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_int256__fromStack_reversed": {
"entryPoint": 6749,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 6935,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 5915,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_int256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_uint256__fromStack_reversed": {
"entryPoint": 6656,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_uint256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_int256__fromStack_reversed": {
"entryPoint": 5516,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 7121,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_address_t_address__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address__fromStack_reversed": {
"entryPoint": 7229,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_bool_t_bool__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_bool__fromStack_reversed": {
"entryPoint": 5822,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_bytes32_t_bytes32__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed": {
"entryPoint": 6303,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed": {
"entryPoint": 6195,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_string_memory_ptr_t_string_memory_ptr__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6088,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_uint256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 6396,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3692,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 3455,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 3718,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 5149,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 5159,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 6008,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 4967,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 3998,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 4669,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 3472,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 4936,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3523,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 3766,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 5175,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"finalize_allocation": {
"entryPoint": 3643,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 3598,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3574,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3578,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3468,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3464,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3582,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8": {
"entryPoint": 5609,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_2602ee1ebf372b25bffbd066c8358edb7f611f67d29a83d531f51d21a4ab2e89": {
"entryPoint": 6489,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f": {
"entryPoint": 5245,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d": {
"entryPoint": 5442,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce": {
"entryPoint": 5748,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 4984,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 4157,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 4678,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_int256": {
"entryPoint": 3481,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3532,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:37100:1",
"nodeType": "YulBlock",
"src": "0:37100: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": "378:32:1",
"nodeType": "YulBlock",
"src": "378:32:1",
"statements": [
{
"nativeSrc": "388:16:1",
"nodeType": "YulAssignment",
"src": "388:16:1",
"value": {
"name": "value",
"nativeSrc": "399:5:1",
"nodeType": "YulIdentifier",
"src": "399:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "388:7:1",
"nodeType": "YulIdentifier",
"src": "388:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nativeSrc": "334:76:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "360:5:1",
"nodeType": "YulTypedName",
"src": "360:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "370:7:1",
"nodeType": "YulTypedName",
"src": "370:7:1",
"type": ""
}
],
"src": "334:76:1"
},
{
"body": {
"nativeSrc": "458:78:1",
"nodeType": "YulBlock",
"src": "458:78:1",
"statements": [
{
"body": {
"nativeSrc": "514:16:1",
"nodeType": "YulBlock",
"src": "514:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "523:1:1",
"nodeType": "YulLiteral",
"src": "523:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "516:6:1",
"nodeType": "YulIdentifier",
"src": "516:6:1"
},
"nativeSrc": "516:12:1",
"nodeType": "YulFunctionCall",
"src": "516:12:1"
},
"nativeSrc": "516:12:1",
"nodeType": "YulExpressionStatement",
"src": "516:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "481:5:1",
"nodeType": "YulIdentifier",
"src": "481:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "505:5:1",
"nodeType": "YulIdentifier",
"src": "505:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nativeSrc": "488:16:1",
"nodeType": "YulIdentifier",
"src": "488:16:1"
},
"nativeSrc": "488:23:1",
"nodeType": "YulFunctionCall",
"src": "488:23:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "478:2:1",
"nodeType": "YulIdentifier",
"src": "478:2:1"
},
"nativeSrc": "478:34:1",
"nodeType": "YulFunctionCall",
"src": "478:34:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "471:6:1",
"nodeType": "YulIdentifier",
"src": "471:6:1"
},
"nativeSrc": "471:42:1",
"nodeType": "YulFunctionCall",
"src": "471:42:1"
},
"nativeSrc": "468:62:1",
"nodeType": "YulIf",
"src": "468:62:1"
}
]
},
"name": "validator_revert_t_int256",
"nativeSrc": "416:120:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "451:5:1",
"nodeType": "YulTypedName",
"src": "451:5:1",
"type": ""
}
],
"src": "416:120:1"
},
{
"body": {
"nativeSrc": "593:86:1",
"nodeType": "YulBlock",
"src": "593:86:1",
"statements": [
{
"nativeSrc": "603:29:1",
"nodeType": "YulAssignment",
"src": "603:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "625:6:1",
"nodeType": "YulIdentifier",
"src": "625:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "612:12:1",
"nodeType": "YulIdentifier",
"src": "612:12:1"
},
"nativeSrc": "612:20:1",
"nodeType": "YulFunctionCall",
"src": "612:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "603:5:1",
"nodeType": "YulIdentifier",
"src": "603:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "667:5:1",
"nodeType": "YulIdentifier",
"src": "667:5:1"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nativeSrc": "641:25:1",
"nodeType": "YulIdentifier",
"src": "641:25:1"
},
"nativeSrc": "641:32:1",
"nodeType": "YulFunctionCall",
"src": "641:32:1"
},
"nativeSrc": "641:32:1",
"nodeType": "YulExpressionStatement",
"src": "641:32:1"
}
]
},
"name": "abi_decode_t_int256",
"nativeSrc": "542:137:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "571:6:1",
"nodeType": "YulTypedName",
"src": "571:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "579:3:1",
"nodeType": "YulTypedName",
"src": "579:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "587:5:1",
"nodeType": "YulTypedName",
"src": "587:5:1",
"type": ""
}
],
"src": "542:137:1"
},
{
"body": {
"nativeSrc": "730:32:1",
"nodeType": "YulBlock",
"src": "730:32:1",
"statements": [
{
"nativeSrc": "740:16:1",
"nodeType": "YulAssignment",
"src": "740:16:1",
"value": {
"name": "value",
"nativeSrc": "751:5:1",
"nodeType": "YulIdentifier",
"src": "751:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "740:7:1",
"nodeType": "YulIdentifier",
"src": "740:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "685:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "712:5:1",
"nodeType": "YulTypedName",
"src": "712:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "722:7:1",
"nodeType": "YulTypedName",
"src": "722:7:1",
"type": ""
}
],
"src": "685:77:1"
},
{
"body": {
"nativeSrc": "811:79:1",
"nodeType": "YulBlock",
"src": "811:79:1",
"statements": [
{
"body": {
"nativeSrc": "868:16:1",
"nodeType": "YulBlock",
"src": "868:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "877:1:1",
"nodeType": "YulLiteral",
"src": "877:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "880:1:1",
"nodeType": "YulLiteral",
"src": "880:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "870:6:1",
"nodeType": "YulIdentifier",
"src": "870:6:1"
},
"nativeSrc": "870:12:1",
"nodeType": "YulFunctionCall",
"src": "870:12:1"
},
"nativeSrc": "870:12:1",
"nodeType": "YulExpressionStatement",
"src": "870:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "834:5:1",
"nodeType": "YulIdentifier",
"src": "834:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "859:5:1",
"nodeType": "YulIdentifier",
"src": "859:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "841:17:1",
"nodeType": "YulIdentifier",
"src": "841:17:1"
},
"nativeSrc": "841:24:1",
"nodeType": "YulFunctionCall",
"src": "841:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "831:2:1",
"nodeType": "YulIdentifier",
"src": "831:2:1"
},
"nativeSrc": "831:35:1",
"nodeType": "YulFunctionCall",
"src": "831:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "824:6:1",
"nodeType": "YulIdentifier",
"src": "824:6:1"
},
"nativeSrc": "824:43:1",
"nodeType": "YulFunctionCall",
"src": "824:43:1"
},
"nativeSrc": "821:63:1",
"nodeType": "YulIf",
"src": "821:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "768:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "804:5:1",
"nodeType": "YulTypedName",
"src": "804:5:1",
"type": ""
}
],
"src": "768:122:1"
},
{
"body": {
"nativeSrc": "948:87:1",
"nodeType": "YulBlock",
"src": "948:87:1",
"statements": [
{
"nativeSrc": "958:29:1",
"nodeType": "YulAssignment",
"src": "958:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "980:6:1",
"nodeType": "YulIdentifier",
"src": "980:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "967:12:1",
"nodeType": "YulIdentifier",
"src": "967:12:1"
},
"nativeSrc": "967:20:1",
"nodeType": "YulFunctionCall",
"src": "967:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "958:5:1",
"nodeType": "YulIdentifier",
"src": "958:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1023:5:1",
"nodeType": "YulIdentifier",
"src": "1023:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "996:26:1",
"nodeType": "YulIdentifier",
"src": "996:26:1"
},
"nativeSrc": "996:33:1",
"nodeType": "YulFunctionCall",
"src": "996:33:1"
},
"nativeSrc": "996:33:1",
"nodeType": "YulExpressionStatement",
"src": "996:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "896:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "926:6:1",
"nodeType": "YulTypedName",
"src": "926:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "934:3:1",
"nodeType": "YulTypedName",
"src": "934:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "942:5:1",
"nodeType": "YulTypedName",
"src": "942:5:1",
"type": ""
}
],
"src": "896:139:1"
},
{
"body": {
"nativeSrc": "1130:28:1",
"nodeType": "YulBlock",
"src": "1130:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1147:1:1",
"nodeType": "YulLiteral",
"src": "1147:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1150:1:1",
"nodeType": "YulLiteral",
"src": "1150:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1140:6:1",
"nodeType": "YulIdentifier",
"src": "1140:6:1"
},
"nativeSrc": "1140:12:1",
"nodeType": "YulFunctionCall",
"src": "1140:12:1"
},
"nativeSrc": "1140:12:1",
"nodeType": "YulExpressionStatement",
"src": "1140:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "1041:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1041:117:1"
},
{
"body": {
"nativeSrc": "1253:28:1",
"nodeType": "YulBlock",
"src": "1253:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1270:1:1",
"nodeType": "YulLiteral",
"src": "1270:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1273:1:1",
"nodeType": "YulLiteral",
"src": "1273:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1263:6:1",
"nodeType": "YulIdentifier",
"src": "1263:6:1"
},
"nativeSrc": "1263:12:1",
"nodeType": "YulFunctionCall",
"src": "1263:12:1"
},
"nativeSrc": "1263:12:1",
"nodeType": "YulExpressionStatement",
"src": "1263:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "1164:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1164:117:1"
},
{
"body": {
"nativeSrc": "1335:54:1",
"nodeType": "YulBlock",
"src": "1335:54:1",
"statements": [
{
"nativeSrc": "1345:38:1",
"nodeType": "YulAssignment",
"src": "1345:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1363:5:1",
"nodeType": "YulIdentifier",
"src": "1363:5:1"
},
{
"kind": "number",
"nativeSrc": "1370:2:1",
"nodeType": "YulLiteral",
"src": "1370:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1359:3:1",
"nodeType": "YulIdentifier",
"src": "1359:3:1"
},
"nativeSrc": "1359:14:1",
"nodeType": "YulFunctionCall",
"src": "1359:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1379:2:1",
"nodeType": "YulLiteral",
"src": "1379:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1375:3:1",
"nodeType": "YulIdentifier",
"src": "1375:3:1"
},
"nativeSrc": "1375:7:1",
"nodeType": "YulFunctionCall",
"src": "1375:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1355:3:1",
"nodeType": "YulIdentifier",
"src": "1355:3:1"
},
"nativeSrc": "1355:28:1",
"nodeType": "YulFunctionCall",
"src": "1355:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1345:6:1",
"nodeType": "YulIdentifier",
"src": "1345:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "1287:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1318:5:1",
"nodeType": "YulTypedName",
"src": "1318:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1328:6:1",
"nodeType": "YulTypedName",
"src": "1328:6:1",
"type": ""
}
],
"src": "1287:102:1"
},
{
"body": {
"nativeSrc": "1423:152:1",
"nodeType": "YulBlock",
"src": "1423:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1440:1:1",
"nodeType": "YulLiteral",
"src": "1440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1443:77:1",
"nodeType": "YulLiteral",
"src": "1443:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1433:6:1",
"nodeType": "YulIdentifier",
"src": "1433:6:1"
},
"nativeSrc": "1433:88:1",
"nodeType": "YulFunctionCall",
"src": "1433:88:1"
},
"nativeSrc": "1433:88:1",
"nodeType": "YulExpressionStatement",
"src": "1433:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1537:1:1",
"nodeType": "YulLiteral",
"src": "1537:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1540:4:1",
"nodeType": "YulLiteral",
"src": "1540:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1530:6:1",
"nodeType": "YulIdentifier",
"src": "1530:6:1"
},
"nativeSrc": "1530:15:1",
"nodeType": "YulFunctionCall",
"src": "1530:15:1"
},
"nativeSrc": "1530:15:1",
"nodeType": "YulExpressionStatement",
"src": "1530:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1561:1:1",
"nodeType": "YulLiteral",
"src": "1561:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1564:4:1",
"nodeType": "YulLiteral",
"src": "1564:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1554:6:1",
"nodeType": "YulIdentifier",
"src": "1554:6:1"
},
"nativeSrc": "1554:15:1",
"nodeType": "YulFunctionCall",
"src": "1554:15:1"
},
"nativeSrc": "1554:15:1",
"nodeType": "YulExpressionStatement",
"src": "1554:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "1395:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1395:180:1"
},
{
"body": {
"nativeSrc": "1624:238:1",
"nodeType": "YulBlock",
"src": "1624:238:1",
"statements": [
{
"nativeSrc": "1634:58:1",
"nodeType": "YulVariableDeclaration",
"src": "1634:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1656:6:1",
"nodeType": "YulIdentifier",
"src": "1656:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "1686:4:1",
"nodeType": "YulIdentifier",
"src": "1686:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1664:21:1",
"nodeType": "YulIdentifier",
"src": "1664:21:1"
},
"nativeSrc": "1664:27:1",
"nodeType": "YulFunctionCall",
"src": "1664:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1652:3:1",
"nodeType": "YulIdentifier",
"src": "1652:3:1"
},
"nativeSrc": "1652:40:1",
"nodeType": "YulFunctionCall",
"src": "1652:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "1638:10:1",
"nodeType": "YulTypedName",
"src": "1638:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1803:22:1",
"nodeType": "YulBlock",
"src": "1803:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1805:16:1",
"nodeType": "YulIdentifier",
"src": "1805:16:1"
},
"nativeSrc": "1805:18:1",
"nodeType": "YulFunctionCall",
"src": "1805:18:1"
},
"nativeSrc": "1805:18:1",
"nodeType": "YulExpressionStatement",
"src": "1805:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1746:10:1",
"nodeType": "YulIdentifier",
"src": "1746:10:1"
},
{
"kind": "number",
"nativeSrc": "1758:18:1",
"nodeType": "YulLiteral",
"src": "1758:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1743:2:1",
"nodeType": "YulIdentifier",
"src": "1743:2:1"
},
"nativeSrc": "1743:34:1",
"nodeType": "YulFunctionCall",
"src": "1743:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1782:10:1",
"nodeType": "YulIdentifier",
"src": "1782:10:1"
},
{
"name": "memPtr",
"nativeSrc": "1794:6:1",
"nodeType": "YulIdentifier",
"src": "1794:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1779:2:1",
"nodeType": "YulIdentifier",
"src": "1779:2:1"
},
"nativeSrc": "1779:22:1",
"nodeType": "YulFunctionCall",
"src": "1779:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1740:2:1",
"nodeType": "YulIdentifier",
"src": "1740:2:1"
},
"nativeSrc": "1740:62:1",
"nodeType": "YulFunctionCall",
"src": "1740:62:1"
},
"nativeSrc": "1737:88:1",
"nodeType": "YulIf",
"src": "1737:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1841:2:1",
"nodeType": "YulLiteral",
"src": "1841:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "1845:10:1",
"nodeType": "YulIdentifier",
"src": "1845:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1834:6:1",
"nodeType": "YulIdentifier",
"src": "1834:6:1"
},
"nativeSrc": "1834:22:1",
"nodeType": "YulFunctionCall",
"src": "1834:22:1"
},
"nativeSrc": "1834:22:1",
"nodeType": "YulExpressionStatement",
"src": "1834:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "1581:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "1610:6:1",
"nodeType": "YulTypedName",
"src": "1610:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "1618:4:1",
"nodeType": "YulTypedName",
"src": "1618:4:1",
"type": ""
}
],
"src": "1581:281:1"
},
{
"body": {
"nativeSrc": "1909:88:1",
"nodeType": "YulBlock",
"src": "1909:88:1",
"statements": [
{
"nativeSrc": "1919:30:1",
"nodeType": "YulAssignment",
"src": "1919:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "1929:18:1",
"nodeType": "YulIdentifier",
"src": "1929:18:1"
},
"nativeSrc": "1929:20:1",
"nodeType": "YulFunctionCall",
"src": "1929:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1919:6:1",
"nodeType": "YulIdentifier",
"src": "1919:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1978:6:1",
"nodeType": "YulIdentifier",
"src": "1978:6:1"
},
{
"name": "size",
"nativeSrc": "1986:4:1",
"nodeType": "YulIdentifier",
"src": "1986:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "1958:19:1",
"nodeType": "YulIdentifier",
"src": "1958:19:1"
},
"nativeSrc": "1958:33:1",
"nodeType": "YulFunctionCall",
"src": "1958:33:1"
},
"nativeSrc": "1958:33:1",
"nodeType": "YulExpressionStatement",
"src": "1958:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "1868:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "1893:4:1",
"nodeType": "YulTypedName",
"src": "1893:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1902:6:1",
"nodeType": "YulTypedName",
"src": "1902:6:1",
"type": ""
}
],
"src": "1868:129:1"
},
{
"body": {
"nativeSrc": "2070:241:1",
"nodeType": "YulBlock",
"src": "2070:241:1",
"statements": [
{
"body": {
"nativeSrc": "2175:22:1",
"nodeType": "YulBlock",
"src": "2175:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "2177:16:1",
"nodeType": "YulIdentifier",
"src": "2177:16:1"
},
"nativeSrc": "2177:18:1",
"nodeType": "YulFunctionCall",
"src": "2177:18:1"
},
"nativeSrc": "2177:18:1",
"nodeType": "YulExpressionStatement",
"src": "2177:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "2147:6:1",
"nodeType": "YulIdentifier",
"src": "2147:6:1"
},
{
"kind": "number",
"nativeSrc": "2155:18:1",
"nodeType": "YulLiteral",
"src": "2155:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2144:2:1",
"nodeType": "YulIdentifier",
"src": "2144:2:1"
},
"nativeSrc": "2144:30:1",
"nodeType": "YulFunctionCall",
"src": "2144:30:1"
},
"nativeSrc": "2141:56:1",
"nodeType": "YulIf",
"src": "2141:56:1"
},
{
"nativeSrc": "2207:37:1",
"nodeType": "YulAssignment",
"src": "2207:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "2237:6:1",
"nodeType": "YulIdentifier",
"src": "2237:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2215:21:1",
"nodeType": "YulIdentifier",
"src": "2215:21:1"
},
"nativeSrc": "2215:29:1",
"nodeType": "YulFunctionCall",
"src": "2215:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2207:4:1",
"nodeType": "YulIdentifier",
"src": "2207:4:1"
}
]
},
{
"nativeSrc": "2281:23:1",
"nodeType": "YulAssignment",
"src": "2281:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "2293:4:1",
"nodeType": "YulIdentifier",
"src": "2293:4:1"
},
{
"kind": "number",
"nativeSrc": "2299:4:1",
"nodeType": "YulLiteral",
"src": "2299:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2289:3:1",
"nodeType": "YulIdentifier",
"src": "2289:3:1"
},
"nativeSrc": "2289:15:1",
"nodeType": "YulFunctionCall",
"src": "2289:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2281:4:1",
"nodeType": "YulIdentifier",
"src": "2281:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "2003:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "2054:6:1",
"nodeType": "YulTypedName",
"src": "2054:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "2065:4:1",
"nodeType": "YulTypedName",
"src": "2065:4:1",
"type": ""
}
],
"src": "2003:308:1"
},
{
"body": {
"nativeSrc": "2381:84:1",
"nodeType": "YulBlock",
"src": "2381:84:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "2405:3:1",
"nodeType": "YulIdentifier",
"src": "2405:3:1"
},
{
"name": "src",
"nativeSrc": "2410:3:1",
"nodeType": "YulIdentifier",
"src": "2410:3:1"
},
{
"name": "length",
"nativeSrc": "2415:6:1",
"nodeType": "YulIdentifier",
"src": "2415:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "2392:12:1",
"nodeType": "YulIdentifier",
"src": "2392:12:1"
},
"nativeSrc": "2392:30:1",
"nodeType": "YulFunctionCall",
"src": "2392:30:1"
},
"nativeSrc": "2392:30:1",
"nodeType": "YulExpressionStatement",
"src": "2392:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2442:3:1",
"nodeType": "YulIdentifier",
"src": "2442:3:1"
},
{
"name": "length",
"nativeSrc": "2447:6:1",
"nodeType": "YulIdentifier",
"src": "2447:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2438:3:1",
"nodeType": "YulIdentifier",
"src": "2438:3:1"
},
"nativeSrc": "2438:16:1",
"nodeType": "YulFunctionCall",
"src": "2438:16:1"
},
{
"kind": "number",
"nativeSrc": "2456:1:1",
"nodeType": "YulLiteral",
"src": "2456:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2431:6:1",
"nodeType": "YulIdentifier",
"src": "2431:6:1"
},
"nativeSrc": "2431:27:1",
"nodeType": "YulFunctionCall",
"src": "2431:27:1"
},
"nativeSrc": "2431:27:1",
"nodeType": "YulExpressionStatement",
"src": "2431:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2317:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2363:3:1",
"nodeType": "YulTypedName",
"src": "2363:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2368:3:1",
"nodeType": "YulTypedName",
"src": "2368:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2373:6:1",
"nodeType": "YulTypedName",
"src": "2373:6:1",
"type": ""
}
],
"src": "2317:148:1"
},
{
"body": {
"nativeSrc": "2555:341:1",
"nodeType": "YulBlock",
"src": "2555:341:1",
"statements": [
{
"nativeSrc": "2565:75:1",
"nodeType": "YulAssignment",
"src": "2565:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "2632:6:1",
"nodeType": "YulIdentifier",
"src": "2632:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "2590:41:1",
"nodeType": "YulIdentifier",
"src": "2590:41:1"
},
"nativeSrc": "2590:49:1",
"nodeType": "YulFunctionCall",
"src": "2590:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "2574:15:1",
"nodeType": "YulIdentifier",
"src": "2574:15:1"
},
"nativeSrc": "2574:66:1",
"nodeType": "YulFunctionCall",
"src": "2574:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2565:5:1",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "2656:5:1",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"name": "length",
"nativeSrc": "2663:6:1",
"nodeType": "YulIdentifier",
"src": "2663:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2649:6:1",
"nodeType": "YulIdentifier",
"src": "2649:6:1"
},
"nativeSrc": "2649:21:1",
"nodeType": "YulFunctionCall",
"src": "2649:21:1"
},
"nativeSrc": "2649:21:1",
"nodeType": "YulExpressionStatement",
"src": "2649:21:1"
},
{
"nativeSrc": "2679:27:1",
"nodeType": "YulVariableDeclaration",
"src": "2679:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2694:5:1",
"nodeType": "YulIdentifier",
"src": "2694:5:1"
},
{
"kind": "number",
"nativeSrc": "2701:4:1",
"nodeType": "YulLiteral",
"src": "2701:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2690:3:1",
"nodeType": "YulIdentifier",
"src": "2690:3:1"
},
"nativeSrc": "2690:16:1",
"nodeType": "YulFunctionCall",
"src": "2690:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "2683:3:1",
"nodeType": "YulTypedName",
"src": "2683:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2744:83:1",
"nodeType": "YulBlock",
"src": "2744:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "2746:77:1",
"nodeType": "YulIdentifier",
"src": "2746:77:1"
},
"nativeSrc": "2746:79:1",
"nodeType": "YulFunctionCall",
"src": "2746:79:1"
},
"nativeSrc": "2746:79:1",
"nodeType": "YulExpressionStatement",
"src": "2746:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2725:3:1",
"nodeType": "YulIdentifier",
"src": "2725:3:1"
},
{
"name": "length",
"nativeSrc": "2730:6:1",
"nodeType": "YulIdentifier",
"src": "2730:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2721:3:1",
"nodeType": "YulIdentifier",
"src": "2721:3:1"
},
"nativeSrc": "2721:16:1",
"nodeType": "YulFunctionCall",
"src": "2721:16:1"
},
{
"name": "end",
"nativeSrc": "2739:3:1",
"nodeType": "YulIdentifier",
"src": "2739:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2718:2:1",
"nodeType": "YulIdentifier",
"src": "2718:2:1"
},
"nativeSrc": "2718:25:1",
"nodeType": "YulFunctionCall",
"src": "2718:25:1"
},
"nativeSrc": "2715:112:1",
"nodeType": "YulIf",
"src": "2715:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "2873:3:1",
"nodeType": "YulIdentifier",
"src": "2873:3:1"
},
{
"name": "dst",
"nativeSrc": "2878:3:1",
"nodeType": "YulIdentifier",
"src": "2878:3:1"
},
{
"name": "length",
"nativeSrc": "2883:6:1",
"nodeType": "YulIdentifier",
"src": "2883:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2836:36:1",
"nodeType": "YulIdentifier",
"src": "2836:36:1"
},
"nativeSrc": "2836:54:1",
"nodeType": "YulFunctionCall",
"src": "2836:54:1"
},
"nativeSrc": "2836:54:1",
"nodeType": "YulExpressionStatement",
"src": "2836:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "2471:425:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2528:3:1",
"nodeType": "YulTypedName",
"src": "2528:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2533:6:1",
"nodeType": "YulTypedName",
"src": "2533:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2541:3:1",
"nodeType": "YulTypedName",
"src": "2541:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2549:5:1",
"nodeType": "YulTypedName",
"src": "2549:5:1",
"type": ""
}
],
"src": "2471:425:1"
},
{
"body": {
"nativeSrc": "2978:278:1",
"nodeType": "YulBlock",
"src": "2978:278:1",
"statements": [
{
"body": {
"nativeSrc": "3027:83:1",
"nodeType": "YulBlock",
"src": "3027:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "3029:77:1",
"nodeType": "YulIdentifier",
"src": "3029:77:1"
},
"nativeSrc": "3029:79:1",
"nodeType": "YulFunctionCall",
"src": "3029:79:1"
},
"nativeSrc": "3029:79:1",
"nodeType": "YulExpressionStatement",
"src": "3029:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3006:6:1",
"nodeType": "YulIdentifier",
"src": "3006:6:1"
},
{
"kind": "number",
"nativeSrc": "3014:4:1",
"nodeType": "YulLiteral",
"src": "3014:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3002:3:1",
"nodeType": "YulIdentifier",
"src": "3002:3:1"
},
"nativeSrc": "3002:17:1",
"nodeType": "YulFunctionCall",
"src": "3002:17:1"
},
{
"name": "end",
"nativeSrc": "3021:3:1",
"nodeType": "YulIdentifier",
"src": "3021:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2998:3:1",
"nodeType": "YulIdentifier",
"src": "2998:3:1"
},
"nativeSrc": "2998:27:1",
"nodeType": "YulFunctionCall",
"src": "2998:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2991:6:1",
"nodeType": "YulIdentifier",
"src": "2991:6:1"
},
"nativeSrc": "2991:35:1",
"nodeType": "YulFunctionCall",
"src": "2991:35:1"
},
"nativeSrc": "2988:122:1",
"nodeType": "YulIf",
"src": "2988:122:1"
},
{
"nativeSrc": "3119:34:1",
"nodeType": "YulVariableDeclaration",
"src": "3119:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3146:6:1",
"nodeType": "YulIdentifier",
"src": "3146:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3133:12:1",
"nodeType": "YulIdentifier",
"src": "3133:12:1"
},
"nativeSrc": "3133:20:1",
"nodeType": "YulFunctionCall",
"src": "3133:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "3123:6:1",
"nodeType": "YulTypedName",
"src": "3123:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3162:88:1",
"nodeType": "YulAssignment",
"src": "3162:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3223:6:1",
"nodeType": "YulIdentifier",
"src": "3223:6:1"
},
{
"kind": "number",
"nativeSrc": "3231:4:1",
"nodeType": "YulLiteral",
"src": "3231:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3219:3:1",
"nodeType": "YulIdentifier",
"src": "3219:3:1"
},
"nativeSrc": "3219:17:1",
"nodeType": "YulFunctionCall",
"src": "3219:17:1"
},
{
"name": "length",
"nativeSrc": "3238:6:1",
"nodeType": "YulIdentifier",
"src": "3238:6:1"
},
{
"name": "end",
"nativeSrc": "3246:3:1",
"nodeType": "YulIdentifier",
"src": "3246:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "3171:47:1",
"nodeType": "YulIdentifier",
"src": "3171:47:1"
},
"nativeSrc": "3171:79:1",
"nodeType": "YulFunctionCall",
"src": "3171:79:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "3162:5:1",
"nodeType": "YulIdentifier",
"src": "3162:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "2916:340:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2956:6:1",
"nodeType": "YulTypedName",
"src": "2956:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2964:3:1",
"nodeType": "YulTypedName",
"src": "2964:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2972:5:1",
"nodeType": "YulTypedName",
"src": "2972:5:1",
"type": ""
}
],
"src": "2916:340:1"
},
{
"body": {
"nativeSrc": "3371:688:1",
"nodeType": "YulBlock",
"src": "3371:688:1",
"statements": [
{
"body": {
"nativeSrc": "3417:83:1",
"nodeType": "YulBlock",
"src": "3417:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3419:77:1",
"nodeType": "YulIdentifier",
"src": "3419:77:1"
},
"nativeSrc": "3419:79:1",
"nodeType": "YulFunctionCall",
"src": "3419:79:1"
},
"nativeSrc": "3419:79:1",
"nodeType": "YulExpressionStatement",
"src": "3419:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3392:7:1",
"nodeType": "YulIdentifier",
"src": "3392:7:1"
},
{
"name": "headStart",
"nativeSrc": "3401:9:1",
"nodeType": "YulIdentifier",
"src": "3401:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3388:3:1",
"nodeType": "YulIdentifier",
"src": "3388:3:1"
},
"nativeSrc": "3388:23:1",
"nodeType": "YulFunctionCall",
"src": "3388:23:1"
},
{
"kind": "number",
"nativeSrc": "3413:2:1",
"nodeType": "YulLiteral",
"src": "3413:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3384:3:1",
"nodeType": "YulIdentifier",
"src": "3384:3:1"
},
"nativeSrc": "3384:32:1",
"nodeType": "YulFunctionCall",
"src": "3384:32:1"
},
"nativeSrc": "3381:119:1",
"nodeType": "YulIf",
"src": "3381:119:1"
},
{
"nativeSrc": "3510:116:1",
"nodeType": "YulBlock",
"src": "3510:116:1",
"statements": [
{
"nativeSrc": "3525:15:1",
"nodeType": "YulVariableDeclaration",
"src": "3525:15:1",
"value": {
"kind": "number",
"nativeSrc": "3539:1:1",
"nodeType": "YulLiteral",
"src": "3539:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3529:6:1",
"nodeType": "YulTypedName",
"src": "3529:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3554:62:1",
"nodeType": "YulAssignment",
"src": "3554:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3588:9:1",
"nodeType": "YulIdentifier",
"src": "3588:9:1"
},
{
"name": "offset",
"nativeSrc": "3599:6:1",
"nodeType": "YulIdentifier",
"src": "3599:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3584:3:1",
"nodeType": "YulIdentifier",
"src": "3584:3:1"
},
"nativeSrc": "3584:22:1",
"nodeType": "YulFunctionCall",
"src": "3584:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3608:7:1",
"nodeType": "YulIdentifier",
"src": "3608:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nativeSrc": "3564:19:1",
"nodeType": "YulIdentifier",
"src": "3564:19:1"
},
"nativeSrc": "3564:52:1",
"nodeType": "YulFunctionCall",
"src": "3564:52:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3554:6:1",
"nodeType": "YulIdentifier",
"src": "3554:6:1"
}
]
}
]
},
{
"nativeSrc": "3636:118:1",
"nodeType": "YulBlock",
"src": "3636:118:1",
"statements": [
{
"nativeSrc": "3651:16:1",
"nodeType": "YulVariableDeclaration",
"src": "3651:16:1",
"value": {
"kind": "number",
"nativeSrc": "3665:2:1",
"nodeType": "YulLiteral",
"src": "3665:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3655:6:1",
"nodeType": "YulTypedName",
"src": "3655:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3681:63:1",
"nodeType": "YulAssignment",
"src": "3681:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3716:9:1",
"nodeType": "YulIdentifier",
"src": "3716:9:1"
},
{
"name": "offset",
"nativeSrc": "3727:6:1",
"nodeType": "YulIdentifier",
"src": "3727:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3712:3:1",
"nodeType": "YulIdentifier",
"src": "3712:3:1"
},
"nativeSrc": "3712:22:1",
"nodeType": "YulFunctionCall",
"src": "3712:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3736:7:1",
"nodeType": "YulIdentifier",
"src": "3736:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "3691:20:1",
"nodeType": "YulIdentifier",
"src": "3691:20:1"
},
"nativeSrc": "3691:53:1",
"nodeType": "YulFunctionCall",
"src": "3691:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "3681:6:1",
"nodeType": "YulIdentifier",
"src": "3681:6:1"
}
]
}
]
},
{
"nativeSrc": "3764:288:1",
"nodeType": "YulBlock",
"src": "3764:288:1",
"statements": [
{
"nativeSrc": "3779:46:1",
"nodeType": "YulVariableDeclaration",
"src": "3779:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3810:9:1",
"nodeType": "YulIdentifier",
"src": "3810:9:1"
},
{
"kind": "number",
"nativeSrc": "3821:2:1",
"nodeType": "YulLiteral",
"src": "3821:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3806:3:1",
"nodeType": "YulIdentifier",
"src": "3806:3:1"
},
"nativeSrc": "3806:18:1",
"nodeType": "YulFunctionCall",
"src": "3806:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3793:12:1",
"nodeType": "YulIdentifier",
"src": "3793:12:1"
},
"nativeSrc": "3793:32:1",
"nodeType": "YulFunctionCall",
"src": "3793:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3783:6:1",
"nodeType": "YulTypedName",
"src": "3783:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3872:83:1",
"nodeType": "YulBlock",
"src": "3872:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3874:77:1",
"nodeType": "YulIdentifier",
"src": "3874:77:1"
},
"nativeSrc": "3874:79:1",
"nodeType": "YulFunctionCall",
"src": "3874:79:1"
},
"nativeSrc": "3874:79:1",
"nodeType": "YulExpressionStatement",
"src": "3874:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3844:6:1",
"nodeType": "YulIdentifier",
"src": "3844:6:1"
},
{
"kind": "number",
"nativeSrc": "3852:18:1",
"nodeType": "YulLiteral",
"src": "3852:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3841:2:1",
"nodeType": "YulIdentifier",
"src": "3841:2:1"
},
"nativeSrc": "3841:30:1",
"nodeType": "YulFunctionCall",
"src": "3841:30:1"
},
"nativeSrc": "3838:117:1",
"nodeType": "YulIf",
"src": "3838:117:1"
},
{
"nativeSrc": "3969:73:1",
"nodeType": "YulAssignment",
"src": "3969:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4014:9:1",
"nodeType": "YulIdentifier",
"src": "4014:9:1"
},
{
"name": "offset",
"nativeSrc": "4025:6:1",
"nodeType": "YulIdentifier",
"src": "4025:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4010:3:1",
"nodeType": "YulIdentifier",
"src": "4010:3:1"
},
"nativeSrc": "4010:22:1",
"nodeType": "YulFunctionCall",
"src": "4010:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4034:7:1",
"nodeType": "YulIdentifier",
"src": "4034:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "3979:30:1",
"nodeType": "YulIdentifier",
"src": "3979:30:1"
},
"nativeSrc": "3979:63:1",
"nodeType": "YulFunctionCall",
"src": "3979:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "3969:6:1",
"nodeType": "YulIdentifier",
"src": "3969:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_int256t_uint256t_string_memory_ptr",
"nativeSrc": "3262:797:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3325:9:1",
"nodeType": "YulTypedName",
"src": "3325:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3336:7:1",
"nodeType": "YulTypedName",
"src": "3336:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3348:6:1",
"nodeType": "YulTypedName",
"src": "3348:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3356:6:1",
"nodeType": "YulTypedName",
"src": "3356:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3364:6:1",
"nodeType": "YulTypedName",
"src": "3364:6:1",
"type": ""
}
],
"src": "3262:797:1"
},
{
"body": {
"nativeSrc": "4107:48:1",
"nodeType": "YulBlock",
"src": "4107:48:1",
"statements": [
{
"nativeSrc": "4117:32:1",
"nodeType": "YulAssignment",
"src": "4117:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4142:5:1",
"nodeType": "YulIdentifier",
"src": "4142:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "4135:6:1",
"nodeType": "YulIdentifier",
"src": "4135:6:1"
},
"nativeSrc": "4135:13:1",
"nodeType": "YulFunctionCall",
"src": "4135:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "4128:6:1",
"nodeType": "YulIdentifier",
"src": "4128:6:1"
},
"nativeSrc": "4128:21:1",
"nodeType": "YulFunctionCall",
"src": "4128:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "4117:7:1",
"nodeType": "YulIdentifier",
"src": "4117:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "4065:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4089:5:1",
"nodeType": "YulTypedName",
"src": "4089:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "4099:7:1",
"nodeType": "YulTypedName",
"src": "4099:7:1",
"type": ""
}
],
"src": "4065:90:1"
},
{
"body": {
"nativeSrc": "4228:50:1",
"nodeType": "YulBlock",
"src": "4228:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4245:3:1",
"nodeType": "YulIdentifier",
"src": "4245:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4265:5:1",
"nodeType": "YulIdentifier",
"src": "4265:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "4250:14:1",
"nodeType": "YulIdentifier",
"src": "4250:14:1"
},
"nativeSrc": "4250:21:1",
"nodeType": "YulFunctionCall",
"src": "4250:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4238:6:1",
"nodeType": "YulIdentifier",
"src": "4238:6:1"
},
"nativeSrc": "4238:34:1",
"nodeType": "YulFunctionCall",
"src": "4238:34:1"
},
"nativeSrc": "4238:34:1",
"nodeType": "YulExpressionStatement",
"src": "4238:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack_library",
"nativeSrc": "4161:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4216:5:1",
"nodeType": "YulTypedName",
"src": "4216:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4223:3:1",
"nodeType": "YulTypedName",
"src": "4223:3:1",
"type": ""
}
],
"src": "4161:117:1"
},
{
"body": {
"nativeSrc": "4384:126:1",
"nodeType": "YulBlock",
"src": "4384:126:1",
"statements": [
{
"nativeSrc": "4394:26:1",
"nodeType": "YulAssignment",
"src": "4394:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4406:9:1",
"nodeType": "YulIdentifier",
"src": "4406:9:1"
},
{
"kind": "number",
"nativeSrc": "4417:2:1",
"nodeType": "YulLiteral",
"src": "4417:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4402:3:1",
"nodeType": "YulIdentifier",
"src": "4402:3:1"
},
"nativeSrc": "4402:18:1",
"nodeType": "YulFunctionCall",
"src": "4402:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4394:4:1",
"nodeType": "YulIdentifier",
"src": "4394:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4476:6:1",
"nodeType": "YulIdentifier",
"src": "4476:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4489:9:1",
"nodeType": "YulIdentifier",
"src": "4489:9:1"
},
{
"kind": "number",
"nativeSrc": "4500:1:1",
"nodeType": "YulLiteral",
"src": "4500:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4485:3:1",
"nodeType": "YulIdentifier",
"src": "4485:3:1"
},
"nativeSrc": "4485:17:1",
"nodeType": "YulFunctionCall",
"src": "4485:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack_library",
"nativeSrc": "4430:45:1",
"nodeType": "YulIdentifier",
"src": "4430:45:1"
},
"nativeSrc": "4430:73:1",
"nodeType": "YulFunctionCall",
"src": "4430:73:1"
},
"nativeSrc": "4430:73:1",
"nodeType": "YulExpressionStatement",
"src": "4430:73:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed",
"nativeSrc": "4284:226:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4356:9:1",
"nodeType": "YulTypedName",
"src": "4356:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4368:6:1",
"nodeType": "YulTypedName",
"src": "4368:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4379:4:1",
"nodeType": "YulTypedName",
"src": "4379:4:1",
"type": ""
}
],
"src": "4284:226:1"
},
{
"body": {
"nativeSrc": "4625:688:1",
"nodeType": "YulBlock",
"src": "4625:688:1",
"statements": [
{
"body": {
"nativeSrc": "4671:83:1",
"nodeType": "YulBlock",
"src": "4671:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4673:77:1",
"nodeType": "YulIdentifier",
"src": "4673:77:1"
},
"nativeSrc": "4673:79:1",
"nodeType": "YulFunctionCall",
"src": "4673:79:1"
},
"nativeSrc": "4673:79:1",
"nodeType": "YulExpressionStatement",
"src": "4673:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4646:7:1",
"nodeType": "YulIdentifier",
"src": "4646:7:1"
},
{
"name": "headStart",
"nativeSrc": "4655:9:1",
"nodeType": "YulIdentifier",
"src": "4655:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4642:3:1",
"nodeType": "YulIdentifier",
"src": "4642:3:1"
},
"nativeSrc": "4642:23:1",
"nodeType": "YulFunctionCall",
"src": "4642:23:1"
},
{
"kind": "number",
"nativeSrc": "4667:2:1",
"nodeType": "YulLiteral",
"src": "4667:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4638:3:1",
"nodeType": "YulIdentifier",
"src": "4638:3:1"
},
"nativeSrc": "4638:32:1",
"nodeType": "YulFunctionCall",
"src": "4638:32:1"
},
"nativeSrc": "4635:119:1",
"nodeType": "YulIf",
"src": "4635:119:1"
},
{
"nativeSrc": "4764:117:1",
"nodeType": "YulBlock",
"src": "4764:117:1",
"statements": [
{
"nativeSrc": "4779:15:1",
"nodeType": "YulVariableDeclaration",
"src": "4779:15:1",
"value": {
"kind": "number",
"nativeSrc": "4793:1:1",
"nodeType": "YulLiteral",
"src": "4793:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4783:6:1",
"nodeType": "YulTypedName",
"src": "4783:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4808:63:1",
"nodeType": "YulAssignment",
"src": "4808:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4843:9:1",
"nodeType": "YulIdentifier",
"src": "4843:9:1"
},
{
"name": "offset",
"nativeSrc": "4854:6:1",
"nodeType": "YulIdentifier",
"src": "4854:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4839:3:1",
"nodeType": "YulIdentifier",
"src": "4839:3:1"
},
"nativeSrc": "4839:22:1",
"nodeType": "YulFunctionCall",
"src": "4839:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4863:7:1",
"nodeType": "YulIdentifier",
"src": "4863:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "4818:20:1",
"nodeType": "YulIdentifier",
"src": "4818:20:1"
},
"nativeSrc": "4818:53:1",
"nodeType": "YulFunctionCall",
"src": "4818:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4808:6:1",
"nodeType": "YulIdentifier",
"src": "4808:6:1"
}
]
}
]
},
{
"nativeSrc": "4891:117:1",
"nodeType": "YulBlock",
"src": "4891:117:1",
"statements": [
{
"nativeSrc": "4906:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4906:16:1",
"value": {
"kind": "number",
"nativeSrc": "4920:2:1",
"nodeType": "YulLiteral",
"src": "4920:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4910:6:1",
"nodeType": "YulTypedName",
"src": "4910:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4936:62:1",
"nodeType": "YulAssignment",
"src": "4936:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4970:9:1",
"nodeType": "YulIdentifier",
"src": "4970:9:1"
},
{
"name": "offset",
"nativeSrc": "4981:6:1",
"nodeType": "YulIdentifier",
"src": "4981:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4966:3:1",
"nodeType": "YulIdentifier",
"src": "4966:3:1"
},
"nativeSrc": "4966:22:1",
"nodeType": "YulFunctionCall",
"src": "4966:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4990:7:1",
"nodeType": "YulIdentifier",
"src": "4990:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nativeSrc": "4946:19:1",
"nodeType": "YulIdentifier",
"src": "4946:19:1"
},
"nativeSrc": "4946:52:1",
"nodeType": "YulFunctionCall",
"src": "4946:52:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "4936:6:1",
"nodeType": "YulIdentifier",
"src": "4936:6:1"
}
]
}
]
},
{
"nativeSrc": "5018:288:1",
"nodeType": "YulBlock",
"src": "5018:288:1",
"statements": [
{
"nativeSrc": "5033:46:1",
"nodeType": "YulVariableDeclaration",
"src": "5033:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5064:9:1",
"nodeType": "YulIdentifier",
"src": "5064:9:1"
},
{
"kind": "number",
"nativeSrc": "5075:2:1",
"nodeType": "YulLiteral",
"src": "5075:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5060:3:1",
"nodeType": "YulIdentifier",
"src": "5060:3:1"
},
"nativeSrc": "5060:18:1",
"nodeType": "YulFunctionCall",
"src": "5060:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5047:12:1",
"nodeType": "YulIdentifier",
"src": "5047:12:1"
},
"nativeSrc": "5047:32:1",
"nodeType": "YulFunctionCall",
"src": "5047:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5037:6:1",
"nodeType": "YulTypedName",
"src": "5037:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5126:83:1",
"nodeType": "YulBlock",
"src": "5126:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "5128:77:1",
"nodeType": "YulIdentifier",
"src": "5128:77:1"
},
"nativeSrc": "5128:79:1",
"nodeType": "YulFunctionCall",
"src": "5128:79:1"
},
"nativeSrc": "5128:79:1",
"nodeType": "YulExpressionStatement",
"src": "5128:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "5098:6:1",
"nodeType": "YulIdentifier",
"src": "5098:6:1"
},
{
"kind": "number",
"nativeSrc": "5106:18:1",
"nodeType": "YulLiteral",
"src": "5106:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5095:2:1",
"nodeType": "YulIdentifier",
"src": "5095:2:1"
},
"nativeSrc": "5095:30:1",
"nodeType": "YulFunctionCall",
"src": "5095:30:1"
},
"nativeSrc": "5092:117:1",
"nodeType": "YulIf",
"src": "5092:117:1"
},
{
"nativeSrc": "5223:73:1",
"nodeType": "YulAssignment",
"src": "5223:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5268:9:1",
"nodeType": "YulIdentifier",
"src": "5268:9:1"
},
{
"name": "offset",
"nativeSrc": "5279:6:1",
"nodeType": "YulIdentifier",
"src": "5279:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5264:3:1",
"nodeType": "YulIdentifier",
"src": "5264:3:1"
},
"nativeSrc": "5264:22:1",
"nodeType": "YulFunctionCall",
"src": "5264:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5288:7:1",
"nodeType": "YulIdentifier",
"src": "5288:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "5233:30:1",
"nodeType": "YulIdentifier",
"src": "5233:30:1"
},
"nativeSrc": "5233:63:1",
"nodeType": "YulFunctionCall",
"src": "5233:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "5223:6:1",
"nodeType": "YulIdentifier",
"src": "5223:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_int256t_string_memory_ptr",
"nativeSrc": "4516:797:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4579:9:1",
"nodeType": "YulTypedName",
"src": "4579:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4590:7:1",
"nodeType": "YulTypedName",
"src": "4590:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4602:6:1",
"nodeType": "YulTypedName",
"src": "4602:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "4610:6:1",
"nodeType": "YulTypedName",
"src": "4610:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "4618:6:1",
"nodeType": "YulTypedName",
"src": "4618:6:1",
"type": ""
}
],
"src": "4516:797:1"
},
{
"body": {
"nativeSrc": "5359:76:1",
"nodeType": "YulBlock",
"src": "5359:76:1",
"statements": [
{
"body": {
"nativeSrc": "5413:16:1",
"nodeType": "YulBlock",
"src": "5413:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "5422:1:1",
"nodeType": "YulLiteral",
"src": "5422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "5425:1:1",
"nodeType": "YulLiteral",
"src": "5425:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "5415:6:1",
"nodeType": "YulIdentifier",
"src": "5415:6:1"
},
"nativeSrc": "5415:12:1",
"nodeType": "YulFunctionCall",
"src": "5415:12:1"
},
"nativeSrc": "5415:12:1",
"nodeType": "YulExpressionStatement",
"src": "5415:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5382:5:1",
"nodeType": "YulIdentifier",
"src": "5382:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5404:5:1",
"nodeType": "YulIdentifier",
"src": "5404:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "5389:14:1",
"nodeType": "YulIdentifier",
"src": "5389:14:1"
},
"nativeSrc": "5389:21:1",
"nodeType": "YulFunctionCall",
"src": "5389:21:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "5379:2:1",
"nodeType": "YulIdentifier",
"src": "5379:2:1"
},
"nativeSrc": "5379:32:1",
"nodeType": "YulFunctionCall",
"src": "5379:32:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5372:6:1",
"nodeType": "YulIdentifier",
"src": "5372:6:1"
},
"nativeSrc": "5372:40:1",
"nodeType": "YulFunctionCall",
"src": "5372:40:1"
},
"nativeSrc": "5369:60:1",
"nodeType": "YulIf",
"src": "5369:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nativeSrc": "5319:116:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5352:5:1",
"nodeType": "YulTypedName",
"src": "5352:5:1",
"type": ""
}
],
"src": "5319:116:1"
},
{
"body": {
"nativeSrc": "5490:84:1",
"nodeType": "YulBlock",
"src": "5490:84:1",
"statements": [
{
"nativeSrc": "5500:29:1",
"nodeType": "YulAssignment",
"src": "5500:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "5522:6:1",
"nodeType": "YulIdentifier",
"src": "5522:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5509:12:1",
"nodeType": "YulIdentifier",
"src": "5509:12:1"
},
"nativeSrc": "5509:20:1",
"nodeType": "YulFunctionCall",
"src": "5509:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5500:5:1",
"nodeType": "YulIdentifier",
"src": "5500:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "5562:5:1",
"nodeType": "YulIdentifier",
"src": "5562:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nativeSrc": "5538:23:1",
"nodeType": "YulIdentifier",
"src": "5538:23:1"
},
"nativeSrc": "5538:30:1",
"nodeType": "YulFunctionCall",
"src": "5538:30:1"
},
"nativeSrc": "5538:30:1",
"nodeType": "YulExpressionStatement",
"src": "5538:30:1"
}
]
},
"name": "abi_decode_t_bool",
"nativeSrc": "5441:133:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "5468:6:1",
"nodeType": "YulTypedName",
"src": "5468:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "5476:3:1",
"nodeType": "YulTypedName",
"src": "5476:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "5484:5:1",
"nodeType": "YulTypedName",
"src": "5484:5:1",
"type": ""
}
],
"src": "5441:133:1"
},
{
"body": {
"nativeSrc": "5670:558:1",
"nodeType": "YulBlock",
"src": "5670:558:1",
"statements": [
{
"body": {
"nativeSrc": "5716:83:1",
"nodeType": "YulBlock",
"src": "5716:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5718:77:1",
"nodeType": "YulIdentifier",
"src": "5718:77:1"
},
"nativeSrc": "5718:79:1",
"nodeType": "YulFunctionCall",
"src": "5718:79:1"
},
"nativeSrc": "5718:79:1",
"nodeType": "YulExpressionStatement",
"src": "5718:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5691:7:1",
"nodeType": "YulIdentifier",
"src": "5691:7:1"
},
{
"name": "headStart",
"nativeSrc": "5700:9:1",
"nodeType": "YulIdentifier",
"src": "5700:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5687:3:1",
"nodeType": "YulIdentifier",
"src": "5687:3:1"
},
"nativeSrc": "5687:23:1",
"nodeType": "YulFunctionCall",
"src": "5687:23:1"
},
{
"kind": "number",
"nativeSrc": "5712:2:1",
"nodeType": "YulLiteral",
"src": "5712:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5683:3:1",
"nodeType": "YulIdentifier",
"src": "5683:3:1"
},
"nativeSrc": "5683:32:1",
"nodeType": "YulFunctionCall",
"src": "5683:32:1"
},
"nativeSrc": "5680:119:1",
"nodeType": "YulIf",
"src": "5680:119:1"
},
{
"nativeSrc": "5809:114:1",
"nodeType": "YulBlock",
"src": "5809:114:1",
"statements": [
{
"nativeSrc": "5824:15:1",
"nodeType": "YulVariableDeclaration",
"src": "5824:15:1",
"value": {
"kind": "number",
"nativeSrc": "5838:1:1",
"nodeType": "YulLiteral",
"src": "5838:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5828:6:1",
"nodeType": "YulTypedName",
"src": "5828:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5853:60:1",
"nodeType": "YulAssignment",
"src": "5853:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5885:9:1",
"nodeType": "YulIdentifier",
"src": "5885:9:1"
},
{
"name": "offset",
"nativeSrc": "5896:6:1",
"nodeType": "YulIdentifier",
"src": "5896:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5881:3:1",
"nodeType": "YulIdentifier",
"src": "5881:3:1"
},
"nativeSrc": "5881:22:1",
"nodeType": "YulFunctionCall",
"src": "5881:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5905:7:1",
"nodeType": "YulIdentifier",
"src": "5905:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nativeSrc": "5863:17:1",
"nodeType": "YulIdentifier",
"src": "5863:17:1"
},
"nativeSrc": "5863:50:1",
"nodeType": "YulFunctionCall",
"src": "5863:50:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5853:6:1",
"nodeType": "YulIdentifier",
"src": "5853:6:1"
}
]
}
]
},
{
"nativeSrc": "5933:288:1",
"nodeType": "YulBlock",
"src": "5933:288:1",
"statements": [
{
"nativeSrc": "5948:46:1",
"nodeType": "YulVariableDeclaration",
"src": "5948:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5979:9:1",
"nodeType": "YulIdentifier",
"src": "5979:9:1"
},
{
"kind": "number",
"nativeSrc": "5990:2:1",
"nodeType": "YulLiteral",
"src": "5990:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5975:3:1",
"nodeType": "YulIdentifier",
"src": "5975:3:1"
},
"nativeSrc": "5975:18:1",
"nodeType": "YulFunctionCall",
"src": "5975:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5962:12:1",
"nodeType": "YulIdentifier",
"src": "5962:12:1"
},
"nativeSrc": "5962:32:1",
"nodeType": "YulFunctionCall",
"src": "5962:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5952:6:1",
"nodeType": "YulTypedName",
"src": "5952:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6041:83:1",
"nodeType": "YulBlock",
"src": "6041:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "6043:77:1",
"nodeType": "YulIdentifier",
"src": "6043:77:1"
},
"nativeSrc": "6043:79:1",
"nodeType": "YulFunctionCall",
"src": "6043:79:1"
},
"nativeSrc": "6043:79:1",
"nodeType": "YulExpressionStatement",
"src": "6043:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6013:6:1",
"nodeType": "YulIdentifier",
"src": "6013:6:1"
},
{
"kind": "number",
"nativeSrc": "6021:18:1",
"nodeType": "YulLiteral",
"src": "6021:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6010:2:1",
"nodeType": "YulIdentifier",
"src": "6010:2:1"
},
"nativeSrc": "6010:30:1",
"nodeType": "YulFunctionCall",
"src": "6010:30:1"
},
"nativeSrc": "6007:117:1",
"nodeType": "YulIf",
"src": "6007:117:1"
},
{
"nativeSrc": "6138:73:1",
"nodeType": "YulAssignment",
"src": "6138:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6183:9:1",
"nodeType": "YulIdentifier",
"src": "6183:9:1"
},
{
"name": "offset",
"nativeSrc": "6194:6:1",
"nodeType": "YulIdentifier",
"src": "6194:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6179:3:1",
"nodeType": "YulIdentifier",
"src": "6179:3:1"
},
"nativeSrc": "6179:22:1",
"nodeType": "YulFunctionCall",
"src": "6179:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6203:7:1",
"nodeType": "YulIdentifier",
"src": "6203:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "6148:30:1",
"nodeType": "YulIdentifier",
"src": "6148:30:1"
},
"nativeSrc": "6148:63:1",
"nodeType": "YulFunctionCall",
"src": "6148:63:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "6138:6:1",
"nodeType": "YulIdentifier",
"src": "6138:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_boolt_string_memory_ptr",
"nativeSrc": "5580:648:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5632:9:1",
"nodeType": "YulTypedName",
"src": "5632:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5643:7:1",
"nodeType": "YulTypedName",
"src": "5643:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5655:6:1",
"nodeType": "YulTypedName",
"src": "5655:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5663:6:1",
"nodeType": "YulTypedName",
"src": "5663:6:1",
"type": ""
}
],
"src": "5580:648:1"
},
{
"body": {
"nativeSrc": "6338:683:1",
"nodeType": "YulBlock",
"src": "6338:683:1",
"statements": [
{
"body": {
"nativeSrc": "6384:83:1",
"nodeType": "YulBlock",
"src": "6384:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "6386:77:1",
"nodeType": "YulIdentifier",
"src": "6386:77:1"
},
"nativeSrc": "6386:79:1",
"nodeType": "YulFunctionCall",
"src": "6386:79:1"
},
"nativeSrc": "6386:79:1",
"nodeType": "YulExpressionStatement",
"src": "6386:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "6359:7:1",
"nodeType": "YulIdentifier",
"src": "6359:7:1"
},
{
"name": "headStart",
"nativeSrc": "6368:9:1",
"nodeType": "YulIdentifier",
"src": "6368:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6355:3:1",
"nodeType": "YulIdentifier",
"src": "6355:3:1"
},
"nativeSrc": "6355:23:1",
"nodeType": "YulFunctionCall",
"src": "6355:23:1"
},
{
"kind": "number",
"nativeSrc": "6380:2:1",
"nodeType": "YulLiteral",
"src": "6380:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "6351:3:1",
"nodeType": "YulIdentifier",
"src": "6351:3:1"
},
"nativeSrc": "6351:32:1",
"nodeType": "YulFunctionCall",
"src": "6351:32:1"
},
"nativeSrc": "6348:119:1",
"nodeType": "YulIf",
"src": "6348:119:1"
},
{
"nativeSrc": "6477:114:1",
"nodeType": "YulBlock",
"src": "6477:114:1",
"statements": [
{
"nativeSrc": "6492:15:1",
"nodeType": "YulVariableDeclaration",
"src": "6492:15:1",
"value": {
"kind": "number",
"nativeSrc": "6506:1:1",
"nodeType": "YulLiteral",
"src": "6506:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6496:6:1",
"nodeType": "YulTypedName",
"src": "6496:6:1",
"type": ""
}
]
},
{
"nativeSrc": "6521:60:1",
"nodeType": "YulAssignment",
"src": "6521:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6553:9:1",
"nodeType": "YulIdentifier",
"src": "6553:9:1"
},
{
"name": "offset",
"nativeSrc": "6564:6:1",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6549:3:1",
"nodeType": "YulIdentifier",
"src": "6549:3:1"
},
"nativeSrc": "6549:22:1",
"nodeType": "YulFunctionCall",
"src": "6549:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6573:7:1",
"nodeType": "YulIdentifier",
"src": "6573:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nativeSrc": "6531:17:1",
"nodeType": "YulIdentifier",
"src": "6531:17:1"
},
"nativeSrc": "6531:50:1",
"nodeType": "YulFunctionCall",
"src": "6531:50:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "6521:6:1",
"nodeType": "YulIdentifier",
"src": "6521:6:1"
}
]
}
]
},
{
"nativeSrc": "6601:115:1",
"nodeType": "YulBlock",
"src": "6601:115:1",
"statements": [
{
"nativeSrc": "6616:16:1",
"nodeType": "YulVariableDeclaration",
"src": "6616:16:1",
"value": {
"kind": "number",
"nativeSrc": "6630:2:1",
"nodeType": "YulLiteral",
"src": "6630:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6620:6:1",
"nodeType": "YulTypedName",
"src": "6620:6:1",
"type": ""
}
]
},
{
"nativeSrc": "6646:60:1",
"nodeType": "YulAssignment",
"src": "6646:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6678:9:1",
"nodeType": "YulIdentifier",
"src": "6678:9:1"
},
{
"name": "offset",
"nativeSrc": "6689:6:1",
"nodeType": "YulIdentifier",
"src": "6689:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6674:3:1",
"nodeType": "YulIdentifier",
"src": "6674:3:1"
},
"nativeSrc": "6674:22:1",
"nodeType": "YulFunctionCall",
"src": "6674:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6698:7:1",
"nodeType": "YulIdentifier",
"src": "6698:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nativeSrc": "6656:17:1",
"nodeType": "YulIdentifier",
"src": "6656:17:1"
},
"nativeSrc": "6656:50:1",
"nodeType": "YulFunctionCall",
"src": "6656:50:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "6646:6:1",
"nodeType": "YulIdentifier",
"src": "6646:6:1"
}
]
}
]
},
{
"nativeSrc": "6726:288:1",
"nodeType": "YulBlock",
"src": "6726:288:1",
"statements": [
{
"nativeSrc": "6741:46:1",
"nodeType": "YulVariableDeclaration",
"src": "6741:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6772:9:1",
"nodeType": "YulIdentifier",
"src": "6772:9:1"
},
{
"kind": "number",
"nativeSrc": "6783:2:1",
"nodeType": "YulLiteral",
"src": "6783:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6768:3:1",
"nodeType": "YulIdentifier",
"src": "6768:3:1"
},
"nativeSrc": "6768:18:1",
"nodeType": "YulFunctionCall",
"src": "6768:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "6755:12:1",
"nodeType": "YulIdentifier",
"src": "6755:12:1"
},
"nativeSrc": "6755:32:1",
"nodeType": "YulFunctionCall",
"src": "6755:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6745:6:1",
"nodeType": "YulTypedName",
"src": "6745:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6834:83:1",
"nodeType": "YulBlock",
"src": "6834:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "6836:77:1",
"nodeType": "YulIdentifier",
"src": "6836:77:1"
},
"nativeSrc": "6836:79:1",
"nodeType": "YulFunctionCall",
"src": "6836:79:1"
},
"nativeSrc": "6836:79:1",
"nodeType": "YulExpressionStatement",
"src": "6836:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6806:6:1",
"nodeType": "YulIdentifier",
"src": "6806:6:1"
},
{
"kind": "number",
"nativeSrc": "6814:18:1",
"nodeType": "YulLiteral",
"src": "6814:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6803:2:1",
"nodeType": "YulIdentifier",
"src": "6803:2:1"
},
"nativeSrc": "6803:30:1",
"nodeType": "YulFunctionCall",
"src": "6803:30:1"
},
"nativeSrc": "6800:117:1",
"nodeType": "YulIf",
"src": "6800:117:1"
},
{
"nativeSrc": "6931:73:1",
"nodeType": "YulAssignment",
"src": "6931:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6976:9:1",
"nodeType": "YulIdentifier",
"src": "6976:9:1"
},
{
"name": "offset",
"nativeSrc": "6987:6:1",
"nodeType": "YulIdentifier",
"src": "6987:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6972:3:1",
"nodeType": "YulIdentifier",
"src": "6972:3:1"
},
"nativeSrc": "6972:22:1",
"nodeType": "YulFunctionCall",
"src": "6972:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6996:7:1",
"nodeType": "YulIdentifier",
"src": "6996:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "6941:30:1",
"nodeType": "YulIdentifier",
"src": "6941:30:1"
},
"nativeSrc": "6941:63:1",
"nodeType": "YulFunctionCall",
"src": "6941:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "6931:6:1",
"nodeType": "YulIdentifier",
"src": "6931:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_boolt_boolt_string_memory_ptr",
"nativeSrc": "6234:787:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6292:9:1",
"nodeType": "YulTypedName",
"src": "6292:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "6303:7:1",
"nodeType": "YulTypedName",
"src": "6303:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "6315:6:1",
"nodeType": "YulTypedName",
"src": "6315:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "6323:6:1",
"nodeType": "YulTypedName",
"src": "6323:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "6331:6:1",
"nodeType": "YulTypedName",
"src": "6331:6:1",
"type": ""
}
],
"src": "6234:787:1"
},
{
"body": {
"nativeSrc": "7135:687:1",
"nodeType": "YulBlock",
"src": "7135:687:1",
"statements": [
{
"body": {
"nativeSrc": "7181:83:1",
"nodeType": "YulBlock",
"src": "7181:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7183:77:1",
"nodeType": "YulIdentifier",
"src": "7183:77:1"
},
"nativeSrc": "7183:79:1",
"nodeType": "YulFunctionCall",
"src": "7183:79:1"
},
"nativeSrc": "7183:79:1",
"nodeType": "YulExpressionStatement",
"src": "7183:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7156:7:1",
"nodeType": "YulIdentifier",
"src": "7156:7:1"
},
{
"name": "headStart",
"nativeSrc": "7165:9:1",
"nodeType": "YulIdentifier",
"src": "7165:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7152:3:1",
"nodeType": "YulIdentifier",
"src": "7152:3:1"
},
"nativeSrc": "7152:23:1",
"nodeType": "YulFunctionCall",
"src": "7152:23:1"
},
{
"kind": "number",
"nativeSrc": "7177:2:1",
"nodeType": "YulLiteral",
"src": "7177:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7148:3:1",
"nodeType": "YulIdentifier",
"src": "7148:3:1"
},
"nativeSrc": "7148:32:1",
"nodeType": "YulFunctionCall",
"src": "7148:32:1"
},
"nativeSrc": "7145:119:1",
"nodeType": "YulIf",
"src": "7145:119:1"
},
{
"nativeSrc": "7274:116:1",
"nodeType": "YulBlock",
"src": "7274:116:1",
"statements": [
{
"nativeSrc": "7289:15:1",
"nodeType": "YulVariableDeclaration",
"src": "7289:15:1",
"value": {
"kind": "number",
"nativeSrc": "7303:1:1",
"nodeType": "YulLiteral",
"src": "7303:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7293:6:1",
"nodeType": "YulTypedName",
"src": "7293:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7318:62:1",
"nodeType": "YulAssignment",
"src": "7318:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7352:9:1",
"nodeType": "YulIdentifier",
"src": "7352:9:1"
},
{
"name": "offset",
"nativeSrc": "7363:6:1",
"nodeType": "YulIdentifier",
"src": "7363:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7348:3:1",
"nodeType": "YulIdentifier",
"src": "7348:3:1"
},
"nativeSrc": "7348:22:1",
"nodeType": "YulFunctionCall",
"src": "7348:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "7372:7:1",
"nodeType": "YulIdentifier",
"src": "7372:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nativeSrc": "7328:19:1",
"nodeType": "YulIdentifier",
"src": "7328:19:1"
},
"nativeSrc": "7328:52:1",
"nodeType": "YulFunctionCall",
"src": "7328:52:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "7318:6:1",
"nodeType": "YulIdentifier",
"src": "7318:6:1"
}
]
}
]
},
{
"nativeSrc": "7400:117:1",
"nodeType": "YulBlock",
"src": "7400:117:1",
"statements": [
{
"nativeSrc": "7415:16:1",
"nodeType": "YulVariableDeclaration",
"src": "7415:16:1",
"value": {
"kind": "number",
"nativeSrc": "7429:2:1",
"nodeType": "YulLiteral",
"src": "7429:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7419:6:1",
"nodeType": "YulTypedName",
"src": "7419:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7445:62:1",
"nodeType": "YulAssignment",
"src": "7445:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7479:9:1",
"nodeType": "YulIdentifier",
"src": "7479:9:1"
},
{
"name": "offset",
"nativeSrc": "7490:6:1",
"nodeType": "YulIdentifier",
"src": "7490:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7475:3:1",
"nodeType": "YulIdentifier",
"src": "7475:3:1"
},
"nativeSrc": "7475:22:1",
"nodeType": "YulFunctionCall",
"src": "7475:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "7499:7:1",
"nodeType": "YulIdentifier",
"src": "7499:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nativeSrc": "7455:19:1",
"nodeType": "YulIdentifier",
"src": "7455:19:1"
},
"nativeSrc": "7455:52:1",
"nodeType": "YulFunctionCall",
"src": "7455:52:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "7445:6:1",
"nodeType": "YulIdentifier",
"src": "7445:6:1"
}
]
}
]
},
{
"nativeSrc": "7527:288:1",
"nodeType": "YulBlock",
"src": "7527:288:1",
"statements": [
{
"nativeSrc": "7542:46:1",
"nodeType": "YulVariableDeclaration",
"src": "7542:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7573:9:1",
"nodeType": "YulIdentifier",
"src": "7573:9:1"
},
{
"kind": "number",
"nativeSrc": "7584:2:1",
"nodeType": "YulLiteral",
"src": "7584:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7569:3:1",
"nodeType": "YulIdentifier",
"src": "7569:3:1"
},
"nativeSrc": "7569:18:1",
"nodeType": "YulFunctionCall",
"src": "7569:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "7556:12:1",
"nodeType": "YulIdentifier",
"src": "7556:12:1"
},
"nativeSrc": "7556:32:1",
"nodeType": "YulFunctionCall",
"src": "7556:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7546:6:1",
"nodeType": "YulTypedName",
"src": "7546:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7635:83:1",
"nodeType": "YulBlock",
"src": "7635:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "7637:77:1",
"nodeType": "YulIdentifier",
"src": "7637:77:1"
},
"nativeSrc": "7637:79:1",
"nodeType": "YulFunctionCall",
"src": "7637:79:1"
},
"nativeSrc": "7637:79:1",
"nodeType": "YulExpressionStatement",
"src": "7637:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "7607:6:1",
"nodeType": "YulIdentifier",
"src": "7607:6:1"
},
{
"kind": "number",
"nativeSrc": "7615:18:1",
"nodeType": "YulLiteral",
"src": "7615:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7604:2:1",
"nodeType": "YulIdentifier",
"src": "7604:2:1"
},
"nativeSrc": "7604:30:1",
"nodeType": "YulFunctionCall",
"src": "7604:30:1"
},
"nativeSrc": "7601:117:1",
"nodeType": "YulIf",
"src": "7601:117:1"
},
{
"nativeSrc": "7732:73:1",
"nodeType": "YulAssignment",
"src": "7732:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7777:9:1",
"nodeType": "YulIdentifier",
"src": "7777:9:1"
},
{
"name": "offset",
"nativeSrc": "7788:6:1",
"nodeType": "YulIdentifier",
"src": "7788:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7773:3:1",
"nodeType": "YulIdentifier",
"src": "7773:3:1"
},
"nativeSrc": "7773:22:1",
"nodeType": "YulFunctionCall",
"src": "7773:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "7797:7:1",
"nodeType": "YulIdentifier",
"src": "7797:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "7742:30:1",
"nodeType": "YulIdentifier",
"src": "7742:30:1"
},
"nativeSrc": "7742:63:1",
"nodeType": "YulFunctionCall",
"src": "7742:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "7732:6:1",
"nodeType": "YulIdentifier",
"src": "7732:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_int256t_int256t_string_memory_ptr",
"nativeSrc": "7027:795:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7089:9:1",
"nodeType": "YulTypedName",
"src": "7089:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7100:7:1",
"nodeType": "YulTypedName",
"src": "7100:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7112:6:1",
"nodeType": "YulTypedName",
"src": "7112:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "7120:6:1",
"nodeType": "YulTypedName",
"src": "7120:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "7128:6:1",
"nodeType": "YulTypedName",
"src": "7128:6:1",
"type": ""
}
],
"src": "7027:795:1"
},
{
"body": {
"nativeSrc": "7958:1029:1",
"nodeType": "YulBlock",
"src": "7958:1029:1",
"statements": [
{
"body": {
"nativeSrc": "8004:83:1",
"nodeType": "YulBlock",
"src": "8004:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "8006:77:1",
"nodeType": "YulIdentifier",
"src": "8006:77:1"
},
"nativeSrc": "8006:79:1",
"nodeType": "YulFunctionCall",
"src": "8006:79:1"
},
"nativeSrc": "8006:79:1",
"nodeType": "YulExpressionStatement",
"src": "8006:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7979:7:1",
"nodeType": "YulIdentifier",
"src": "7979:7:1"
},
{
"name": "headStart",
"nativeSrc": "7988:9:1",
"nodeType": "YulIdentifier",
"src": "7988:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7975:3:1",
"nodeType": "YulIdentifier",
"src": "7975:3:1"
},
"nativeSrc": "7975:23:1",
"nodeType": "YulFunctionCall",
"src": "7975:23:1"
},
{
"kind": "number",
"nativeSrc": "8000:2:1",
"nodeType": "YulLiteral",
"src": "8000:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7971:3:1",
"nodeType": "YulIdentifier",
"src": "7971:3:1"
},
"nativeSrc": "7971:32:1",
"nodeType": "YulFunctionCall",
"src": "7971:32:1"
},
"nativeSrc": "7968:119:1",
"nodeType": "YulIf",
"src": "7968:119:1"
},
{
"nativeSrc": "8097:287:1",
"nodeType": "YulBlock",
"src": "8097:287:1",
"statements": [
{
"nativeSrc": "8112:45:1",
"nodeType": "YulVariableDeclaration",
"src": "8112:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8143:9:1",
"nodeType": "YulIdentifier",
"src": "8143:9:1"
},
{
"kind": "number",
"nativeSrc": "8154:1:1",
"nodeType": "YulLiteral",
"src": "8154:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8139:3:1",
"nodeType": "YulIdentifier",
"src": "8139:3:1"
},
"nativeSrc": "8139:17:1",
"nodeType": "YulFunctionCall",
"src": "8139:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "8126:12:1",
"nodeType": "YulIdentifier",
"src": "8126:12:1"
},
"nativeSrc": "8126:31:1",
"nodeType": "YulFunctionCall",
"src": "8126:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8116:6:1",
"nodeType": "YulTypedName",
"src": "8116:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8204:83:1",
"nodeType": "YulBlock",
"src": "8204:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "8206:77:1",
"nodeType": "YulIdentifier",
"src": "8206:77:1"
},
"nativeSrc": "8206:79:1",
"nodeType": "YulFunctionCall",
"src": "8206:79:1"
},
"nativeSrc": "8206:79:1",
"nodeType": "YulExpressionStatement",
"src": "8206:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "8176:6:1",
"nodeType": "YulIdentifier",
"src": "8176:6:1"
},
{
"kind": "number",
"nativeSrc": "8184:18:1",
"nodeType": "YulLiteral",
"src": "8184:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8173:2:1",
"nodeType": "YulIdentifier",
"src": "8173:2:1"
},
"nativeSrc": "8173:30:1",
"nodeType": "YulFunctionCall",
"src": "8173:30:1"
},
"nativeSrc": "8170:117:1",
"nodeType": "YulIf",
"src": "8170:117:1"
},
{
"nativeSrc": "8301:73:1",
"nodeType": "YulAssignment",
"src": "8301:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8346:9:1",
"nodeType": "YulIdentifier",
"src": "8346:9:1"
},
{
"name": "offset",
"nativeSrc": "8357:6:1",
"nodeType": "YulIdentifier",
"src": "8357:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8342:3:1",
"nodeType": "YulIdentifier",
"src": "8342:3:1"
},
"nativeSrc": "8342:22:1",
"nodeType": "YulFunctionCall",
"src": "8342:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8366:7:1",
"nodeType": "YulIdentifier",
"src": "8366:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "8311:30:1",
"nodeType": "YulIdentifier",
"src": "8311:30:1"
},
"nativeSrc": "8311:63:1",
"nodeType": "YulFunctionCall",
"src": "8311:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "8301:6:1",
"nodeType": "YulIdentifier",
"src": "8301:6:1"
}
]
}
]
},
{
"nativeSrc": "8394:288:1",
"nodeType": "YulBlock",
"src": "8394:288:1",
"statements": [
{
"nativeSrc": "8409:46:1",
"nodeType": "YulVariableDeclaration",
"src": "8409:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8440:9:1",
"nodeType": "YulIdentifier",
"src": "8440:9:1"
},
{
"kind": "number",
"nativeSrc": "8451:2:1",
"nodeType": "YulLiteral",
"src": "8451:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8436:3:1",
"nodeType": "YulIdentifier",
"src": "8436:3:1"
},
"nativeSrc": "8436:18:1",
"nodeType": "YulFunctionCall",
"src": "8436:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "8423:12:1",
"nodeType": "YulIdentifier",
"src": "8423:12:1"
},
"nativeSrc": "8423:32:1",
"nodeType": "YulFunctionCall",
"src": "8423:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8413:6:1",
"nodeType": "YulTypedName",
"src": "8413:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8502:83:1",
"nodeType": "YulBlock",
"src": "8502:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "8504:77:1",
"nodeType": "YulIdentifier",
"src": "8504:77:1"
},
"nativeSrc": "8504:79:1",
"nodeType": "YulFunctionCall",
"src": "8504:79:1"
},
"nativeSrc": "8504:79:1",
"nodeType": "YulExpressionStatement",
"src": "8504:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "8474:6:1",
"nodeType": "YulIdentifier",
"src": "8474:6:1"
},
{
"kind": "number",
"nativeSrc": "8482:18:1",
"nodeType": "YulLiteral",
"src": "8482:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8471:2:1",
"nodeType": "YulIdentifier",
"src": "8471:2:1"
},
"nativeSrc": "8471:30:1",
"nodeType": "YulFunctionCall",
"src": "8471:30:1"
},
"nativeSrc": "8468:117:1",
"nodeType": "YulIf",
"src": "8468:117:1"
},
{
"nativeSrc": "8599:73:1",
"nodeType": "YulAssignment",
"src": "8599:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8644:9:1",
"nodeType": "YulIdentifier",
"src": "8644:9:1"
},
{
"name": "offset",
"nativeSrc": "8655:6:1",
"nodeType": "YulIdentifier",
"src": "8655:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8640:3:1",
"nodeType": "YulIdentifier",
"src": "8640:3:1"
},
"nativeSrc": "8640:22:1",
"nodeType": "YulFunctionCall",
"src": "8640:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8664:7:1",
"nodeType": "YulIdentifier",
"src": "8664:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "8609:30:1",
"nodeType": "YulIdentifier",
"src": "8609:30:1"
},
"nativeSrc": "8609:63:1",
"nodeType": "YulFunctionCall",
"src": "8609:63:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "8599:6:1",
"nodeType": "YulIdentifier",
"src": "8599:6:1"
}
]
}
]
},
{
"nativeSrc": "8692:288:1",
"nodeType": "YulBlock",
"src": "8692:288:1",
"statements": [
{
"nativeSrc": "8707:46:1",
"nodeType": "YulVariableDeclaration",
"src": "8707:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8738:9:1",
"nodeType": "YulIdentifier",
"src": "8738:9:1"
},
{
"kind": "number",
"nativeSrc": "8749:2:1",
"nodeType": "YulLiteral",
"src": "8749:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8734:3:1",
"nodeType": "YulIdentifier",
"src": "8734:3:1"
},
"nativeSrc": "8734:18:1",
"nodeType": "YulFunctionCall",
"src": "8734:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "8721:12:1",
"nodeType": "YulIdentifier",
"src": "8721:12:1"
},
"nativeSrc": "8721:32:1",
"nodeType": "YulFunctionCall",
"src": "8721:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8711:6:1",
"nodeType": "YulTypedName",
"src": "8711:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8800:83:1",
"nodeType": "YulBlock",
"src": "8800:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "8802:77:1",
"nodeType": "YulIdentifier",
"src": "8802:77:1"
},
"nativeSrc": "8802:79:1",
"nodeType": "YulFunctionCall",
"src": "8802:79:1"
},
"nativeSrc": "8802:79:1",
"nodeType": "YulExpressionStatement",
"src": "8802:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "8772:6:1",
"nodeType": "YulIdentifier",
"src": "8772:6:1"
},
{
"kind": "number",
"nativeSrc": "8780:18:1",
"nodeType": "YulLiteral",
"src": "8780:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8769:2:1",
"nodeType": "YulIdentifier",
"src": "8769:2:1"
},
"nativeSrc": "8769:30:1",
"nodeType": "YulFunctionCall",
"src": "8769:30:1"
},
"nativeSrc": "8766:117:1",
"nodeType": "YulIf",
"src": "8766:117:1"
},
{
"nativeSrc": "8897:73:1",
"nodeType": "YulAssignment",
"src": "8897:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8942:9:1",
"nodeType": "YulIdentifier",
"src": "8942:9:1"
},
{
"name": "offset",
"nativeSrc": "8953:6:1",
"nodeType": "YulIdentifier",
"src": "8953:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8938:3:1",
"nodeType": "YulIdentifier",
"src": "8938:3:1"
},
"nativeSrc": "8938:22:1",
"nodeType": "YulFunctionCall",
"src": "8938:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8962:7:1",
"nodeType": "YulIdentifier",
"src": "8962:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "8907:30:1",
"nodeType": "YulIdentifier",
"src": "8907:30:1"
},
"nativeSrc": "8907:63:1",
"nodeType": "YulFunctionCall",
"src": "8907:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "8897:6:1",
"nodeType": "YulIdentifier",
"src": "8897:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr",
"nativeSrc": "7828:1159:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7912:9:1",
"nodeType": "YulTypedName",
"src": "7912:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7923:7:1",
"nodeType": "YulTypedName",
"src": "7923:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7935:6:1",
"nodeType": "YulTypedName",
"src": "7935:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "7943:6:1",
"nodeType": "YulTypedName",
"src": "7943:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "7951:6:1",
"nodeType": "YulTypedName",
"src": "7951:6:1",
"type": ""
}
],
"src": "7828:1159:1"
},
{
"body": {
"nativeSrc": "9038:32:1",
"nodeType": "YulBlock",
"src": "9038:32:1",
"statements": [
{
"nativeSrc": "9048:16:1",
"nodeType": "YulAssignment",
"src": "9048:16:1",
"value": {
"name": "value",
"nativeSrc": "9059:5:1",
"nodeType": "YulIdentifier",
"src": "9059:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "9048:7:1",
"nodeType": "YulIdentifier",
"src": "9048:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nativeSrc": "8993:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9020:5:1",
"nodeType": "YulTypedName",
"src": "9020:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "9030:7:1",
"nodeType": "YulTypedName",
"src": "9030:7:1",
"type": ""
}
],
"src": "8993:77:1"
},
{
"body": {
"nativeSrc": "9119:79:1",
"nodeType": "YulBlock",
"src": "9119:79:1",
"statements": [
{
"body": {
"nativeSrc": "9176:16:1",
"nodeType": "YulBlock",
"src": "9176:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9185:1:1",
"nodeType": "YulLiteral",
"src": "9185:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9188:1:1",
"nodeType": "YulLiteral",
"src": "9188:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9178:6:1",
"nodeType": "YulIdentifier",
"src": "9178:6:1"
},
"nativeSrc": "9178:12:1",
"nodeType": "YulFunctionCall",
"src": "9178:12:1"
},
"nativeSrc": "9178:12:1",
"nodeType": "YulExpressionStatement",
"src": "9178:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "9142:5:1",
"nodeType": "YulIdentifier",
"src": "9142:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "9167:5:1",
"nodeType": "YulIdentifier",
"src": "9167:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "9149:17:1",
"nodeType": "YulIdentifier",
"src": "9149:17:1"
},
"nativeSrc": "9149:24:1",
"nodeType": "YulFunctionCall",
"src": "9149:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "9139:2:1",
"nodeType": "YulIdentifier",
"src": "9139:2:1"
},
"nativeSrc": "9139:35:1",
"nodeType": "YulFunctionCall",
"src": "9139:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "9132:6:1",
"nodeType": "YulIdentifier",
"src": "9132:6:1"
},
"nativeSrc": "9132:43:1",
"nodeType": "YulFunctionCall",
"src": "9132:43:1"
},
"nativeSrc": "9129:63:1",
"nodeType": "YulIf",
"src": "9129:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nativeSrc": "9076:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9112:5:1",
"nodeType": "YulTypedName",
"src": "9112:5:1",
"type": ""
}
],
"src": "9076:122:1"
},
{
"body": {
"nativeSrc": "9256:87:1",
"nodeType": "YulBlock",
"src": "9256:87:1",
"statements": [
{
"nativeSrc": "9266:29:1",
"nodeType": "YulAssignment",
"src": "9266:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "9288:6:1",
"nodeType": "YulIdentifier",
"src": "9288:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "9275:12:1",
"nodeType": "YulIdentifier",
"src": "9275:12:1"
},
"nativeSrc": "9275:20:1",
"nodeType": "YulFunctionCall",
"src": "9275:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "9266:5:1",
"nodeType": "YulIdentifier",
"src": "9266:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "9331:5:1",
"nodeType": "YulIdentifier",
"src": "9331:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nativeSrc": "9304:26:1",
"nodeType": "YulIdentifier",
"src": "9304:26:1"
},
"nativeSrc": "9304:33:1",
"nodeType": "YulFunctionCall",
"src": "9304:33:1"
},
"nativeSrc": "9304:33:1",
"nodeType": "YulExpressionStatement",
"src": "9304:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nativeSrc": "9204:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "9234:6:1",
"nodeType": "YulTypedName",
"src": "9234:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "9242:3:1",
"nodeType": "YulTypedName",
"src": "9242:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "9250:5:1",
"nodeType": "YulTypedName",
"src": "9250:5:1",
"type": ""
}
],
"src": "9204:139:1"
},
{
"body": {
"nativeSrc": "9459:689:1",
"nodeType": "YulBlock",
"src": "9459:689:1",
"statements": [
{
"body": {
"nativeSrc": "9505:83:1",
"nodeType": "YulBlock",
"src": "9505:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "9507:77:1",
"nodeType": "YulIdentifier",
"src": "9507:77:1"
},
"nativeSrc": "9507:79:1",
"nodeType": "YulFunctionCall",
"src": "9507:79:1"
},
"nativeSrc": "9507:79:1",
"nodeType": "YulExpressionStatement",
"src": "9507:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "9480:7:1",
"nodeType": "YulIdentifier",
"src": "9480:7:1"
},
{
"name": "headStart",
"nativeSrc": "9489:9:1",
"nodeType": "YulIdentifier",
"src": "9489:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "9476:3:1",
"nodeType": "YulIdentifier",
"src": "9476:3:1"
},
"nativeSrc": "9476:23:1",
"nodeType": "YulFunctionCall",
"src": "9476:23:1"
},
{
"kind": "number",
"nativeSrc": "9501:2:1",
"nodeType": "YulLiteral",
"src": "9501:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "9472:3:1",
"nodeType": "YulIdentifier",
"src": "9472:3:1"
},
"nativeSrc": "9472:32:1",
"nodeType": "YulFunctionCall",
"src": "9472:32:1"
},
"nativeSrc": "9469:119:1",
"nodeType": "YulIf",
"src": "9469:119:1"
},
{
"nativeSrc": "9598:117:1",
"nodeType": "YulBlock",
"src": "9598:117:1",
"statements": [
{
"nativeSrc": "9613:15:1",
"nodeType": "YulVariableDeclaration",
"src": "9613:15:1",
"value": {
"kind": "number",
"nativeSrc": "9627:1:1",
"nodeType": "YulLiteral",
"src": "9627:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9617:6:1",
"nodeType": "YulTypedName",
"src": "9617:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9642:63:1",
"nodeType": "YulAssignment",
"src": "9642:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9677:9:1",
"nodeType": "YulIdentifier",
"src": "9677:9:1"
},
{
"name": "offset",
"nativeSrc": "9688:6:1",
"nodeType": "YulIdentifier",
"src": "9688:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9673:3:1",
"nodeType": "YulIdentifier",
"src": "9673:3:1"
},
"nativeSrc": "9673:22:1",
"nodeType": "YulFunctionCall",
"src": "9673:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "9697:7:1",
"nodeType": "YulIdentifier",
"src": "9697:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nativeSrc": "9652:20:1",
"nodeType": "YulIdentifier",
"src": "9652:20:1"
},
"nativeSrc": "9652:53:1",
"nodeType": "YulFunctionCall",
"src": "9652:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "9642:6:1",
"nodeType": "YulIdentifier",
"src": "9642:6:1"
}
]
}
]
},
{
"nativeSrc": "9725:118:1",
"nodeType": "YulBlock",
"src": "9725:118:1",
"statements": [
{
"nativeSrc": "9740:16:1",
"nodeType": "YulVariableDeclaration",
"src": "9740:16:1",
"value": {
"kind": "number",
"nativeSrc": "9754:2:1",
"nodeType": "YulLiteral",
"src": "9754:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9744:6:1",
"nodeType": "YulTypedName",
"src": "9744:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9770:63:1",
"nodeType": "YulAssignment",
"src": "9770:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9805:9:1",
"nodeType": "YulIdentifier",
"src": "9805:9:1"
},
{
"name": "offset",
"nativeSrc": "9816:6:1",
"nodeType": "YulIdentifier",
"src": "9816:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9801:3:1",
"nodeType": "YulIdentifier",
"src": "9801:3:1"
},
"nativeSrc": "9801:22:1",
"nodeType": "YulFunctionCall",
"src": "9801:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "9825:7:1",
"nodeType": "YulIdentifier",
"src": "9825:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nativeSrc": "9780:20:1",
"nodeType": "YulIdentifier",
"src": "9780:20:1"
},
"nativeSrc": "9780:53:1",
"nodeType": "YulFunctionCall",
"src": "9780:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "9770:6:1",
"nodeType": "YulIdentifier",
"src": "9770:6:1"
}
]
}
]
},
{
"nativeSrc": "9853:288:1",
"nodeType": "YulBlock",
"src": "9853:288:1",
"statements": [
{
"nativeSrc": "9868:46:1",
"nodeType": "YulVariableDeclaration",
"src": "9868:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9899:9:1",
"nodeType": "YulIdentifier",
"src": "9899:9:1"
},
{
"kind": "number",
"nativeSrc": "9910:2:1",
"nodeType": "YulLiteral",
"src": "9910:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9895:3:1",
"nodeType": "YulIdentifier",
"src": "9895:3:1"
},
"nativeSrc": "9895:18:1",
"nodeType": "YulFunctionCall",
"src": "9895:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "9882:12:1",
"nodeType": "YulIdentifier",
"src": "9882:12:1"
},
"nativeSrc": "9882:32:1",
"nodeType": "YulFunctionCall",
"src": "9882:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9872:6:1",
"nodeType": "YulTypedName",
"src": "9872:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9961:83:1",
"nodeType": "YulBlock",
"src": "9961:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "9963:77:1",
"nodeType": "YulIdentifier",
"src": "9963:77:1"
},
"nativeSrc": "9963:79:1",
"nodeType": "YulFunctionCall",
"src": "9963:79:1"
},
"nativeSrc": "9963:79:1",
"nodeType": "YulExpressionStatement",
"src": "9963:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "9933:6:1",
"nodeType": "YulIdentifier",
"src": "9933:6:1"
},
{
"kind": "number",
"nativeSrc": "9941:18:1",
"nodeType": "YulLiteral",
"src": "9941:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "9930:2:1",
"nodeType": "YulIdentifier",
"src": "9930:2:1"
},
"nativeSrc": "9930:30:1",
"nodeType": "YulFunctionCall",
"src": "9930:30:1"
},
"nativeSrc": "9927:117:1",
"nodeType": "YulIf",
"src": "9927:117:1"
},
{
"nativeSrc": "10058:73:1",
"nodeType": "YulAssignment",
"src": "10058:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10103:9:1",
"nodeType": "YulIdentifier",
"src": "10103:9:1"
},
{
"name": "offset",
"nativeSrc": "10114:6:1",
"nodeType": "YulIdentifier",
"src": "10114:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10099:3:1",
"nodeType": "YulIdentifier",
"src": "10099:3:1"
},
"nativeSrc": "10099:22:1",
"nodeType": "YulFunctionCall",
"src": "10099:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "10123:7:1",
"nodeType": "YulIdentifier",
"src": "10123:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "10068:30:1",
"nodeType": "YulIdentifier",
"src": "10068:30:1"
},
"nativeSrc": "10068:63:1",
"nodeType": "YulFunctionCall",
"src": "10068:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "10058:6:1",
"nodeType": "YulIdentifier",
"src": "10058:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32t_bytes32t_string_memory_ptr",
"nativeSrc": "9349:799:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "9413:9:1",
"nodeType": "YulTypedName",
"src": "9413:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "9424:7:1",
"nodeType": "YulTypedName",
"src": "9424:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "9436:6:1",
"nodeType": "YulTypedName",
"src": "9436:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "9444:6:1",
"nodeType": "YulTypedName",
"src": "9444:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "9452:6:1",
"nodeType": "YulTypedName",
"src": "9452:6:1",
"type": ""
}
],
"src": "9349:799:1"
},
{
"body": {
"nativeSrc": "10264:689:1",
"nodeType": "YulBlock",
"src": "10264:689:1",
"statements": [
{
"body": {
"nativeSrc": "10310:83:1",
"nodeType": "YulBlock",
"src": "10310:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "10312:77:1",
"nodeType": "YulIdentifier",
"src": "10312:77:1"
},
"nativeSrc": "10312:79:1",
"nodeType": "YulFunctionCall",
"src": "10312:79:1"
},
"nativeSrc": "10312:79:1",
"nodeType": "YulExpressionStatement",
"src": "10312:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "10285:7:1",
"nodeType": "YulIdentifier",
"src": "10285:7:1"
},
{
"name": "headStart",
"nativeSrc": "10294:9:1",
"nodeType": "YulIdentifier",
"src": "10294:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "10281:3:1",
"nodeType": "YulIdentifier",
"src": "10281:3:1"
},
"nativeSrc": "10281:23:1",
"nodeType": "YulFunctionCall",
"src": "10281:23:1"
},
{
"kind": "number",
"nativeSrc": "10306:2:1",
"nodeType": "YulLiteral",
"src": "10306:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "10277:3:1",
"nodeType": "YulIdentifier",
"src": "10277:3:1"
},
"nativeSrc": "10277:32:1",
"nodeType": "YulFunctionCall",
"src": "10277:32:1"
},
"nativeSrc": "10274:119:1",
"nodeType": "YulIf",
"src": "10274:119:1"
},
{
"nativeSrc": "10403:117:1",
"nodeType": "YulBlock",
"src": "10403:117:1",
"statements": [
{
"nativeSrc": "10418:15:1",
"nodeType": "YulVariableDeclaration",
"src": "10418:15:1",
"value": {
"kind": "number",
"nativeSrc": "10432:1:1",
"nodeType": "YulLiteral",
"src": "10432:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "10422:6:1",
"nodeType": "YulTypedName",
"src": "10422:6:1",
"type": ""
}
]
},
{
"nativeSrc": "10447:63:1",
"nodeType": "YulAssignment",
"src": "10447:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10482:9:1",
"nodeType": "YulIdentifier",
"src": "10482:9:1"
},
{
"name": "offset",
"nativeSrc": "10493:6:1",
"nodeType": "YulIdentifier",
"src": "10493:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10478:3:1",
"nodeType": "YulIdentifier",
"src": "10478:3:1"
},
"nativeSrc": "10478:22:1",
"nodeType": "YulFunctionCall",
"src": "10478:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "10502:7:1",
"nodeType": "YulIdentifier",
"src": "10502:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "10457:20:1",
"nodeType": "YulIdentifier",
"src": "10457:20:1"
},
"nativeSrc": "10457:53:1",
"nodeType": "YulFunctionCall",
"src": "10457:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "10447:6:1",
"nodeType": "YulIdentifier",
"src": "10447:6:1"
}
]
}
]
},
{
"nativeSrc": "10530:118:1",
"nodeType": "YulBlock",
"src": "10530:118:1",
"statements": [
{
"nativeSrc": "10545:16:1",
"nodeType": "YulVariableDeclaration",
"src": "10545:16:1",
"value": {
"kind": "number",
"nativeSrc": "10559:2:1",
"nodeType": "YulLiteral",
"src": "10559:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "10549:6:1",
"nodeType": "YulTypedName",
"src": "10549:6:1",
"type": ""
}
]
},
{
"nativeSrc": "10575:63:1",
"nodeType": "YulAssignment",
"src": "10575:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10610:9:1",
"nodeType": "YulIdentifier",
"src": "10610:9:1"
},
{
"name": "offset",
"nativeSrc": "10621:6:1",
"nodeType": "YulIdentifier",
"src": "10621:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10606:3:1",
"nodeType": "YulIdentifier",
"src": "10606:3:1"
},
"nativeSrc": "10606:22:1",
"nodeType": "YulFunctionCall",
"src": "10606:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "10630:7:1",
"nodeType": "YulIdentifier",
"src": "10630:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "10585:20:1",
"nodeType": "YulIdentifier",
"src": "10585:20:1"
},
"nativeSrc": "10585:53:1",
"nodeType": "YulFunctionCall",
"src": "10585:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "10575:6:1",
"nodeType": "YulIdentifier",
"src": "10575:6:1"
}
]
}
]
},
{
"nativeSrc": "10658:288:1",
"nodeType": "YulBlock",
"src": "10658:288:1",
"statements": [
{
"nativeSrc": "10673:46:1",
"nodeType": "YulVariableDeclaration",
"src": "10673:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10704:9:1",
"nodeType": "YulIdentifier",
"src": "10704:9:1"
},
{
"kind": "number",
"nativeSrc": "10715:2:1",
"nodeType": "YulLiteral",
"src": "10715:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10700:3:1",
"nodeType": "YulIdentifier",
"src": "10700:3:1"
},
"nativeSrc": "10700:18:1",
"nodeType": "YulFunctionCall",
"src": "10700:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "10687:12:1",
"nodeType": "YulIdentifier",
"src": "10687:12:1"
},
"nativeSrc": "10687:32:1",
"nodeType": "YulFunctionCall",
"src": "10687:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "10677:6:1",
"nodeType": "YulTypedName",
"src": "10677:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "10766:83:1",
"nodeType": "YulBlock",
"src": "10766:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "10768:77:1",
"nodeType": "YulIdentifier",
"src": "10768:77:1"
},
"nativeSrc": "10768:79:1",
"nodeType": "YulFunctionCall",
"src": "10768:79:1"
},
"nativeSrc": "10768:79:1",
"nodeType": "YulExpressionStatement",
"src": "10768:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "10738:6:1",
"nodeType": "YulIdentifier",
"src": "10738:6:1"
},
{
"kind": "number",
"nativeSrc": "10746:18:1",
"nodeType": "YulLiteral",
"src": "10746:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "10735:2:1",
"nodeType": "YulIdentifier",
"src": "10735:2:1"
},
"nativeSrc": "10735:30:1",
"nodeType": "YulFunctionCall",
"src": "10735:30:1"
},
"nativeSrc": "10732:117:1",
"nodeType": "YulIf",
"src": "10732:117:1"
},
{
"nativeSrc": "10863:73:1",
"nodeType": "YulAssignment",
"src": "10863:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "10908:9:1",
"nodeType": "YulIdentifier",
"src": "10908:9:1"
},
{
"name": "offset",
"nativeSrc": "10919:6:1",
"nodeType": "YulIdentifier",
"src": "10919:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10904:3:1",
"nodeType": "YulIdentifier",
"src": "10904:3:1"
},
"nativeSrc": "10904:22:1",
"nodeType": "YulFunctionCall",
"src": "10904:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "10928:7:1",
"nodeType": "YulIdentifier",
"src": "10928:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "10873:30:1",
"nodeType": "YulIdentifier",
"src": "10873:30:1"
},
"nativeSrc": "10873:63:1",
"nodeType": "YulFunctionCall",
"src": "10873:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "10863:6:1",
"nodeType": "YulIdentifier",
"src": "10863:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256t_string_memory_ptr",
"nativeSrc": "10154:799:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "10218:9:1",
"nodeType": "YulTypedName",
"src": "10218:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "10229:7:1",
"nodeType": "YulTypedName",
"src": "10229:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "10241:6:1",
"nodeType": "YulTypedName",
"src": "10241:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "10249:6:1",
"nodeType": "YulTypedName",
"src": "10249:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "10257:6:1",
"nodeType": "YulTypedName",
"src": "10257:6:1",
"type": ""
}
],
"src": "10154:799:1"
},
{
"body": {
"nativeSrc": "11004:81:1",
"nodeType": "YulBlock",
"src": "11004:81:1",
"statements": [
{
"nativeSrc": "11014:65:1",
"nodeType": "YulAssignment",
"src": "11014:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "11029:5:1",
"nodeType": "YulIdentifier",
"src": "11029:5:1"
},
{
"kind": "number",
"nativeSrc": "11036:42:1",
"nodeType": "YulLiteral",
"src": "11036:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "11025:3:1",
"nodeType": "YulIdentifier",
"src": "11025:3:1"
},
"nativeSrc": "11025:54:1",
"nodeType": "YulFunctionCall",
"src": "11025:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "11014:7:1",
"nodeType": "YulIdentifier",
"src": "11014:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "10959:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10986:5:1",
"nodeType": "YulTypedName",
"src": "10986:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "10996:7:1",
"nodeType": "YulTypedName",
"src": "10996:7:1",
"type": ""
}
],
"src": "10959:126:1"
},
{
"body": {
"nativeSrc": "11136:51:1",
"nodeType": "YulBlock",
"src": "11136:51:1",
"statements": [
{
"nativeSrc": "11146:35:1",
"nodeType": "YulAssignment",
"src": "11146:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "11175:5:1",
"nodeType": "YulIdentifier",
"src": "11175:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "11157:17:1",
"nodeType": "YulIdentifier",
"src": "11157:17:1"
},
"nativeSrc": "11157:24:1",
"nodeType": "YulFunctionCall",
"src": "11157:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "11146:7:1",
"nodeType": "YulIdentifier",
"src": "11146:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "11091:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "11118:5:1",
"nodeType": "YulTypedName",
"src": "11118:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "11128:7:1",
"nodeType": "YulTypedName",
"src": "11128:7:1",
"type": ""
}
],
"src": "11091:96:1"
},
{
"body": {
"nativeSrc": "11236:79:1",
"nodeType": "YulBlock",
"src": "11236:79:1",
"statements": [
{
"body": {
"nativeSrc": "11293:16:1",
"nodeType": "YulBlock",
"src": "11293:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "11302:1:1",
"nodeType": "YulLiteral",
"src": "11302:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "11305:1:1",
"nodeType": "YulLiteral",
"src": "11305:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "11295:6:1",
"nodeType": "YulIdentifier",
"src": "11295:6:1"
},
"nativeSrc": "11295:12:1",
"nodeType": "YulFunctionCall",
"src": "11295:12:1"
},
"nativeSrc": "11295:12:1",
"nodeType": "YulExpressionStatement",
"src": "11295:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "11259:5:1",
"nodeType": "YulIdentifier",
"src": "11259:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "11284:5:1",
"nodeType": "YulIdentifier",
"src": "11284:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "11266:17:1",
"nodeType": "YulIdentifier",
"src": "11266:17:1"
},
"nativeSrc": "11266:24:1",
"nodeType": "YulFunctionCall",
"src": "11266:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "11256:2:1",
"nodeType": "YulIdentifier",
"src": "11256:2:1"
},
"nativeSrc": "11256:35:1",
"nodeType": "YulFunctionCall",
"src": "11256:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "11249:6:1",
"nodeType": "YulIdentifier",
"src": "11249:6:1"
},
"nativeSrc": "11249:43:1",
"nodeType": "YulFunctionCall",
"src": "11249:43:1"
},
"nativeSrc": "11246:63:1",
"nodeType": "YulIf",
"src": "11246:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "11193:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "11229:5:1",
"nodeType": "YulTypedName",
"src": "11229:5:1",
"type": ""
}
],
"src": "11193:122:1"
},
{
"body": {
"nativeSrc": "11373:87:1",
"nodeType": "YulBlock",
"src": "11373:87:1",
"statements": [
{
"nativeSrc": "11383:29:1",
"nodeType": "YulAssignment",
"src": "11383:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "11405:6:1",
"nodeType": "YulIdentifier",
"src": "11405:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "11392:12:1",
"nodeType": "YulIdentifier",
"src": "11392:12:1"
},
"nativeSrc": "11392:20:1",
"nodeType": "YulFunctionCall",
"src": "11392:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "11383:5:1",
"nodeType": "YulIdentifier",
"src": "11383:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "11448:5:1",
"nodeType": "YulIdentifier",
"src": "11448:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "11421:26:1",
"nodeType": "YulIdentifier",
"src": "11421:26:1"
},
"nativeSrc": "11421:33:1",
"nodeType": "YulFunctionCall",
"src": "11421:33:1"
},
"nativeSrc": "11421:33:1",
"nodeType": "YulExpressionStatement",
"src": "11421:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "11321:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "11351:6:1",
"nodeType": "YulTypedName",
"src": "11351:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "11359:3:1",
"nodeType": "YulTypedName",
"src": "11359:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "11367:5:1",
"nodeType": "YulTypedName",
"src": "11367:5:1",
"type": ""
}
],
"src": "11321:139:1"
},
{
"body": {
"nativeSrc": "11576:689:1",
"nodeType": "YulBlock",
"src": "11576:689:1",
"statements": [
{
"body": {
"nativeSrc": "11622:83:1",
"nodeType": "YulBlock",
"src": "11622:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "11624:77:1",
"nodeType": "YulIdentifier",
"src": "11624:77:1"
},
"nativeSrc": "11624:79:1",
"nodeType": "YulFunctionCall",
"src": "11624:79:1"
},
"nativeSrc": "11624:79:1",
"nodeType": "YulExpressionStatement",
"src": "11624:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "11597:7:1",
"nodeType": "YulIdentifier",
"src": "11597:7:1"
},
{
"name": "headStart",
"nativeSrc": "11606:9:1",
"nodeType": "YulIdentifier",
"src": "11606:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11593:3:1",
"nodeType": "YulIdentifier",
"src": "11593:3:1"
},
"nativeSrc": "11593:23:1",
"nodeType": "YulFunctionCall",
"src": "11593:23:1"
},
{
"kind": "number",
"nativeSrc": "11618:2:1",
"nodeType": "YulLiteral",
"src": "11618:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "11589:3:1",
"nodeType": "YulIdentifier",
"src": "11589:3:1"
},
"nativeSrc": "11589:32:1",
"nodeType": "YulFunctionCall",
"src": "11589:32:1"
},
"nativeSrc": "11586:119:1",
"nodeType": "YulIf",
"src": "11586:119:1"
},
{
"nativeSrc": "11715:117:1",
"nodeType": "YulBlock",
"src": "11715:117:1",
"statements": [
{
"nativeSrc": "11730:15:1",
"nodeType": "YulVariableDeclaration",
"src": "11730:15:1",
"value": {
"kind": "number",
"nativeSrc": "11744:1:1",
"nodeType": "YulLiteral",
"src": "11744:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "11734:6:1",
"nodeType": "YulTypedName",
"src": "11734:6:1",
"type": ""
}
]
},
{
"nativeSrc": "11759:63:1",
"nodeType": "YulAssignment",
"src": "11759:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11794:9:1",
"nodeType": "YulIdentifier",
"src": "11794:9:1"
},
{
"name": "offset",
"nativeSrc": "11805:6:1",
"nodeType": "YulIdentifier",
"src": "11805:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11790:3:1",
"nodeType": "YulIdentifier",
"src": "11790:3:1"
},
"nativeSrc": "11790:22:1",
"nodeType": "YulFunctionCall",
"src": "11790:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "11814:7:1",
"nodeType": "YulIdentifier",
"src": "11814:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "11769:20:1",
"nodeType": "YulIdentifier",
"src": "11769:20:1"
},
"nativeSrc": "11769:53:1",
"nodeType": "YulFunctionCall",
"src": "11769:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "11759:6:1",
"nodeType": "YulIdentifier",
"src": "11759:6:1"
}
]
}
]
},
{
"nativeSrc": "11842:118:1",
"nodeType": "YulBlock",
"src": "11842:118:1",
"statements": [
{
"nativeSrc": "11857:16:1",
"nodeType": "YulVariableDeclaration",
"src": "11857:16:1",
"value": {
"kind": "number",
"nativeSrc": "11871:2:1",
"nodeType": "YulLiteral",
"src": "11871:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "11861:6:1",
"nodeType": "YulTypedName",
"src": "11861:6:1",
"type": ""
}
]
},
{
"nativeSrc": "11887:63:1",
"nodeType": "YulAssignment",
"src": "11887:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11922:9:1",
"nodeType": "YulIdentifier",
"src": "11922:9:1"
},
{
"name": "offset",
"nativeSrc": "11933:6:1",
"nodeType": "YulIdentifier",
"src": "11933:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11918:3:1",
"nodeType": "YulIdentifier",
"src": "11918:3:1"
},
"nativeSrc": "11918:22:1",
"nodeType": "YulFunctionCall",
"src": "11918:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "11942:7:1",
"nodeType": "YulIdentifier",
"src": "11942:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "11897:20:1",
"nodeType": "YulIdentifier",
"src": "11897:20:1"
},
"nativeSrc": "11897:53:1",
"nodeType": "YulFunctionCall",
"src": "11897:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "11887:6:1",
"nodeType": "YulIdentifier",
"src": "11887:6:1"
}
]
}
]
},
{
"nativeSrc": "11970:288:1",
"nodeType": "YulBlock",
"src": "11970:288:1",
"statements": [
{
"nativeSrc": "11985:46:1",
"nodeType": "YulVariableDeclaration",
"src": "11985:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12016:9:1",
"nodeType": "YulIdentifier",
"src": "12016:9:1"
},
{
"kind": "number",
"nativeSrc": "12027:2:1",
"nodeType": "YulLiteral",
"src": "12027:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12012:3:1",
"nodeType": "YulIdentifier",
"src": "12012:3:1"
},
"nativeSrc": "12012:18:1",
"nodeType": "YulFunctionCall",
"src": "12012:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "11999:12:1",
"nodeType": "YulIdentifier",
"src": "11999:12:1"
},
"nativeSrc": "11999:32:1",
"nodeType": "YulFunctionCall",
"src": "11999:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "11989:6:1",
"nodeType": "YulTypedName",
"src": "11989:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "12078:83:1",
"nodeType": "YulBlock",
"src": "12078:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "12080:77:1",
"nodeType": "YulIdentifier",
"src": "12080:77:1"
},
"nativeSrc": "12080:79:1",
"nodeType": "YulFunctionCall",
"src": "12080:79:1"
},
"nativeSrc": "12080:79:1",
"nodeType": "YulExpressionStatement",
"src": "12080:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "12050:6:1",
"nodeType": "YulIdentifier",
"src": "12050:6:1"
},
{
"kind": "number",
"nativeSrc": "12058:18:1",
"nodeType": "YulLiteral",
"src": "12058:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "12047:2:1",
"nodeType": "YulIdentifier",
"src": "12047:2:1"
},
"nativeSrc": "12047:30:1",
"nodeType": "YulFunctionCall",
"src": "12047:30:1"
},
"nativeSrc": "12044:117:1",
"nodeType": "YulIf",
"src": "12044:117:1"
},
{
"nativeSrc": "12175:73:1",
"nodeType": "YulAssignment",
"src": "12175:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12220:9:1",
"nodeType": "YulIdentifier",
"src": "12220:9:1"
},
{
"name": "offset",
"nativeSrc": "12231:6:1",
"nodeType": "YulIdentifier",
"src": "12231:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12216:3:1",
"nodeType": "YulIdentifier",
"src": "12216:3:1"
},
"nativeSrc": "12216:22:1",
"nodeType": "YulFunctionCall",
"src": "12216:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "12240:7:1",
"nodeType": "YulIdentifier",
"src": "12240:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "12185:30:1",
"nodeType": "YulIdentifier",
"src": "12185:30:1"
},
"nativeSrc": "12185:63:1",
"nodeType": "YulFunctionCall",
"src": "12185:63:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "12175:6:1",
"nodeType": "YulIdentifier",
"src": "12175:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_string_memory_ptr",
"nativeSrc": "11466:799:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "11530:9:1",
"nodeType": "YulTypedName",
"src": "11530:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "11541:7:1",
"nodeType": "YulTypedName",
"src": "11541:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "11553:6:1",
"nodeType": "YulTypedName",
"src": "11553:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "11561:6:1",
"nodeType": "YulTypedName",
"src": "11561:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "11569:6:1",
"nodeType": "YulTypedName",
"src": "11569:6:1",
"type": ""
}
],
"src": "11466:799:1"
},
{
"body": {
"nativeSrc": "12330:50:1",
"nodeType": "YulBlock",
"src": "12330:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12347:3:1",
"nodeType": "YulIdentifier",
"src": "12347:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "12367:5:1",
"nodeType": "YulIdentifier",
"src": "12367:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "12352:14:1",
"nodeType": "YulIdentifier",
"src": "12352:14:1"
},
"nativeSrc": "12352:21:1",
"nodeType": "YulFunctionCall",
"src": "12352:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12340:6:1",
"nodeType": "YulIdentifier",
"src": "12340:6:1"
},
"nativeSrc": "12340:34:1",
"nodeType": "YulFunctionCall",
"src": "12340:34:1"
},
"nativeSrc": "12340:34:1",
"nodeType": "YulExpressionStatement",
"src": "12340:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "12271:109:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "12318:5:1",
"nodeType": "YulTypedName",
"src": "12318:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "12325:3:1",
"nodeType": "YulTypedName",
"src": "12325:3:1",
"type": ""
}
],
"src": "12271:109:1"
},
{
"body": {
"nativeSrc": "12445:40:1",
"nodeType": "YulBlock",
"src": "12445:40:1",
"statements": [
{
"nativeSrc": "12456:22:1",
"nodeType": "YulAssignment",
"src": "12456:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "12472:5:1",
"nodeType": "YulIdentifier",
"src": "12472:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "12466:5:1",
"nodeType": "YulIdentifier",
"src": "12466:5:1"
},
"nativeSrc": "12466:12:1",
"nodeType": "YulFunctionCall",
"src": "12466:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "12456:6:1",
"nodeType": "YulIdentifier",
"src": "12456:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "12386:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "12428:5:1",
"nodeType": "YulTypedName",
"src": "12428:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "12438:6:1",
"nodeType": "YulTypedName",
"src": "12438:6:1",
"type": ""
}
],
"src": "12386:99:1"
},
{
"body": {
"nativeSrc": "12587:73:1",
"nodeType": "YulBlock",
"src": "12587:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12604:3:1",
"nodeType": "YulIdentifier",
"src": "12604:3:1"
},
{
"name": "length",
"nativeSrc": "12609:6:1",
"nodeType": "YulIdentifier",
"src": "12609:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12597:6:1",
"nodeType": "YulIdentifier",
"src": "12597:6:1"
},
"nativeSrc": "12597:19:1",
"nodeType": "YulFunctionCall",
"src": "12597:19:1"
},
"nativeSrc": "12597:19:1",
"nodeType": "YulExpressionStatement",
"src": "12597:19:1"
},
{
"nativeSrc": "12625:29:1",
"nodeType": "YulAssignment",
"src": "12625:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12644:3:1",
"nodeType": "YulIdentifier",
"src": "12644:3:1"
},
{
"kind": "number",
"nativeSrc": "12649:4:1",
"nodeType": "YulLiteral",
"src": "12649:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12640:3:1",
"nodeType": "YulIdentifier",
"src": "12640:3:1"
},
"nativeSrc": "12640:14:1",
"nodeType": "YulFunctionCall",
"src": "12640:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "12625:11:1",
"nodeType": "YulIdentifier",
"src": "12625:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "12491:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "12559:3:1",
"nodeType": "YulTypedName",
"src": "12559:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "12564:6:1",
"nodeType": "YulTypedName",
"src": "12564:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "12575:11:1",
"nodeType": "YulTypedName",
"src": "12575:11:1",
"type": ""
}
],
"src": "12491:169:1"
},
{
"body": {
"nativeSrc": "12728:77:1",
"nodeType": "YulBlock",
"src": "12728:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "12745:3:1",
"nodeType": "YulIdentifier",
"src": "12745:3:1"
},
{
"name": "src",
"nativeSrc": "12750:3:1",
"nodeType": "YulIdentifier",
"src": "12750:3:1"
},
{
"name": "length",
"nativeSrc": "12755:6:1",
"nodeType": "YulIdentifier",
"src": "12755:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "12739:5:1",
"nodeType": "YulIdentifier",
"src": "12739:5:1"
},
"nativeSrc": "12739:23:1",
"nodeType": "YulFunctionCall",
"src": "12739:23:1"
},
"nativeSrc": "12739:23:1",
"nodeType": "YulExpressionStatement",
"src": "12739:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "12782:3:1",
"nodeType": "YulIdentifier",
"src": "12782:3:1"
},
{
"name": "length",
"nativeSrc": "12787:6:1",
"nodeType": "YulIdentifier",
"src": "12787:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12778:3:1",
"nodeType": "YulIdentifier",
"src": "12778:3:1"
},
"nativeSrc": "12778:16:1",
"nodeType": "YulFunctionCall",
"src": "12778:16:1"
},
{
"kind": "number",
"nativeSrc": "12796:1:1",
"nodeType": "YulLiteral",
"src": "12796:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12771:6:1",
"nodeType": "YulIdentifier",
"src": "12771:6:1"
},
"nativeSrc": "12771:27:1",
"nodeType": "YulFunctionCall",
"src": "12771:27:1"
},
"nativeSrc": "12771:27:1",
"nodeType": "YulExpressionStatement",
"src": "12771:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "12666:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "12710:3:1",
"nodeType": "YulTypedName",
"src": "12710:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "12715:3:1",
"nodeType": "YulTypedName",
"src": "12715:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "12720:6:1",
"nodeType": "YulTypedName",
"src": "12720:6:1",
"type": ""
}
],
"src": "12666:139:1"
},
{
"body": {
"nativeSrc": "12903:285:1",
"nodeType": "YulBlock",
"src": "12903:285:1",
"statements": [
{
"nativeSrc": "12913:53:1",
"nodeType": "YulVariableDeclaration",
"src": "12913:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "12960:5:1",
"nodeType": "YulIdentifier",
"src": "12960:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "12927:32:1",
"nodeType": "YulIdentifier",
"src": "12927:32:1"
},
"nativeSrc": "12927:39:1",
"nodeType": "YulFunctionCall",
"src": "12927:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "12917:6:1",
"nodeType": "YulTypedName",
"src": "12917:6:1",
"type": ""
}
]
},
{
"nativeSrc": "12975:78:1",
"nodeType": "YulAssignment",
"src": "12975:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13041:3:1",
"nodeType": "YulIdentifier",
"src": "13041:3:1"
},
{
"name": "length",
"nativeSrc": "13046:6:1",
"nodeType": "YulIdentifier",
"src": "13046:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "12982:58:1",
"nodeType": "YulIdentifier",
"src": "12982:58:1"
},
"nativeSrc": "12982:71:1",
"nodeType": "YulFunctionCall",
"src": "12982:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "12975:3:1",
"nodeType": "YulIdentifier",
"src": "12975:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "13101:5:1",
"nodeType": "YulIdentifier",
"src": "13101:5:1"
},
{
"kind": "number",
"nativeSrc": "13108:4:1",
"nodeType": "YulLiteral",
"src": "13108:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13097:3:1",
"nodeType": "YulIdentifier",
"src": "13097:3:1"
},
"nativeSrc": "13097:16:1",
"nodeType": "YulFunctionCall",
"src": "13097:16:1"
},
{
"name": "pos",
"nativeSrc": "13115:3:1",
"nodeType": "YulIdentifier",
"src": "13115:3:1"
},
{
"name": "length",
"nativeSrc": "13120:6:1",
"nodeType": "YulIdentifier",
"src": "13120:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "13062:34:1",
"nodeType": "YulIdentifier",
"src": "13062:34:1"
},
"nativeSrc": "13062:65:1",
"nodeType": "YulFunctionCall",
"src": "13062:65:1"
},
"nativeSrc": "13062:65:1",
"nodeType": "YulExpressionStatement",
"src": "13062:65:1"
},
{
"nativeSrc": "13136:46:1",
"nodeType": "YulAssignment",
"src": "13136:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13147:3:1",
"nodeType": "YulIdentifier",
"src": "13147:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "13174:6:1",
"nodeType": "YulIdentifier",
"src": "13174:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "13152:21:1",
"nodeType": "YulIdentifier",
"src": "13152:21:1"
},
"nativeSrc": "13152:29:1",
"nodeType": "YulFunctionCall",
"src": "13152:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13143:3:1",
"nodeType": "YulIdentifier",
"src": "13143:3:1"
},
"nativeSrc": "13143:39:1",
"nodeType": "YulFunctionCall",
"src": "13143:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "13136:3:1",
"nodeType": "YulIdentifier",
"src": "13136:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12811:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "12884:5:1",
"nodeType": "YulTypedName",
"src": "12884:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "12891:3:1",
"nodeType": "YulTypedName",
"src": "12891:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "12899:3:1",
"nodeType": "YulTypedName",
"src": "12899:3:1",
"type": ""
}
],
"src": "12811:377:1"
},
{
"body": {
"nativeSrc": "13300:55:1",
"nodeType": "YulBlock",
"src": "13300:55:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "13322:6:1",
"nodeType": "YulIdentifier",
"src": "13322:6:1"
},
{
"kind": "number",
"nativeSrc": "13330:1:1",
"nodeType": "YulLiteral",
"src": "13330:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13318:3:1",
"nodeType": "YulIdentifier",
"src": "13318:3:1"
},
"nativeSrc": "13318:14:1",
"nodeType": "YulFunctionCall",
"src": "13318:14:1"
},
{
"hexValue": "677265617465725468616e",
"kind": "string",
"nativeSrc": "13334:13:1",
"nodeType": "YulLiteral",
"src": "13334:13:1",
"type": "",
"value": "greaterThan"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13311:6:1",
"nodeType": "YulIdentifier",
"src": "13311:6:1"
},
"nativeSrc": "13311:37:1",
"nodeType": "YulFunctionCall",
"src": "13311:37:1"
},
"nativeSrc": "13311:37:1",
"nodeType": "YulExpressionStatement",
"src": "13311:37:1"
}
]
},
"name": "store_literal_in_memory_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f",
"nativeSrc": "13194:161:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "13292:6:1",
"nodeType": "YulTypedName",
"src": "13292:6:1",
"type": ""
}
],
"src": "13194:161:1"
},
{
"body": {
"nativeSrc": "13507:220:1",
"nodeType": "YulBlock",
"src": "13507:220:1",
"statements": [
{
"nativeSrc": "13517:74:1",
"nodeType": "YulAssignment",
"src": "13517:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13583:3:1",
"nodeType": "YulIdentifier",
"src": "13583:3:1"
},
{
"kind": "number",
"nativeSrc": "13588:2:1",
"nodeType": "YulLiteral",
"src": "13588:2:1",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "13524:58:1",
"nodeType": "YulIdentifier",
"src": "13524:58:1"
},
"nativeSrc": "13524:67:1",
"nodeType": "YulFunctionCall",
"src": "13524:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "13517:3:1",
"nodeType": "YulIdentifier",
"src": "13517:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13689:3:1",
"nodeType": "YulIdentifier",
"src": "13689:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f",
"nativeSrc": "13600:88:1",
"nodeType": "YulIdentifier",
"src": "13600:88:1"
},
"nativeSrc": "13600:93:1",
"nodeType": "YulFunctionCall",
"src": "13600:93:1"
},
"nativeSrc": "13600:93:1",
"nodeType": "YulExpressionStatement",
"src": "13600:93:1"
},
{
"nativeSrc": "13702:19:1",
"nodeType": "YulAssignment",
"src": "13702:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13713:3:1",
"nodeType": "YulIdentifier",
"src": "13713:3:1"
},
{
"kind": "number",
"nativeSrc": "13718:2:1",
"nodeType": "YulLiteral",
"src": "13718:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "13709:3:1",
"nodeType": "YulIdentifier",
"src": "13709:3:1"
},
"nativeSrc": "13709:12:1",
"nodeType": "YulFunctionCall",
"src": "13709:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "13702:3:1",
"nodeType": "YulIdentifier",
"src": "13702:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_to_t_string_memory_ptr_fromStack",
"nativeSrc": "13361:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "13495:3:1",
"nodeType": "YulTypedName",
"src": "13495:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "13503:3:1",
"nodeType": "YulTypedName",
"src": "13503:3:1",
"type": ""
}
],
"src": "13361:366:1"
},
{
"body": {
"nativeSrc": "13796:52:1",
"nodeType": "YulBlock",
"src": "13796:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13813:3:1",
"nodeType": "YulIdentifier",
"src": "13813:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "13835:5:1",
"nodeType": "YulIdentifier",
"src": "13835:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nativeSrc": "13818:16:1",
"nodeType": "YulIdentifier",
"src": "13818:16:1"
},
"nativeSrc": "13818:23:1",
"nodeType": "YulFunctionCall",
"src": "13818:23:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13806:6:1",
"nodeType": "YulIdentifier",
"src": "13806:6:1"
},
"nativeSrc": "13806:36:1",
"nodeType": "YulFunctionCall",
"src": "13806:36:1"
},
"nativeSrc": "13806:36:1",
"nodeType": "YulExpressionStatement",
"src": "13806:36:1"
}
]
},
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nativeSrc": "13733:115:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "13784:5:1",
"nodeType": "YulTypedName",
"src": "13784:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "13791:3:1",
"nodeType": "YulTypedName",
"src": "13791:3:1",
"type": ""
}
],
"src": "13733:115:1"
},
{
"body": {
"nativeSrc": "13919:53:1",
"nodeType": "YulBlock",
"src": "13919:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "13936:3:1",
"nodeType": "YulIdentifier",
"src": "13936:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "13959:5:1",
"nodeType": "YulIdentifier",
"src": "13959:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "13941:17:1",
"nodeType": "YulIdentifier",
"src": "13941:17:1"
},
"nativeSrc": "13941:24:1",
"nodeType": "YulFunctionCall",
"src": "13941:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "13929:6:1",
"nodeType": "YulIdentifier",
"src": "13929:6:1"
},
"nativeSrc": "13929:37:1",
"nodeType": "YulFunctionCall",
"src": "13929:37:1"
},
"nativeSrc": "13929:37:1",
"nodeType": "YulExpressionStatement",
"src": "13929:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "13854:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "13907:5:1",
"nodeType": "YulTypedName",
"src": "13907:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "13914:3:1",
"nodeType": "YulTypedName",
"src": "13914:3:1",
"type": ""
}
],
"src": "13854:118:1"
},
{
"body": {
"nativeSrc": "14273:641:1",
"nodeType": "YulBlock",
"src": "14273:641:1",
"statements": [
{
"nativeSrc": "14283:27:1",
"nodeType": "YulAssignment",
"src": "14283:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "14295:9:1",
"nodeType": "YulIdentifier",
"src": "14295:9:1"
},
{
"kind": "number",
"nativeSrc": "14306:3:1",
"nodeType": "YulLiteral",
"src": "14306:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14291:3:1",
"nodeType": "YulIdentifier",
"src": "14291:3:1"
},
"nativeSrc": "14291:19:1",
"nodeType": "YulFunctionCall",
"src": "14291:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14283:4:1",
"nodeType": "YulIdentifier",
"src": "14283:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "14358:6:1",
"nodeType": "YulIdentifier",
"src": "14358:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14371:9:1",
"nodeType": "YulIdentifier",
"src": "14371:9:1"
},
{
"kind": "number",
"nativeSrc": "14382:1:1",
"nodeType": "YulLiteral",
"src": "14382:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14367:3:1",
"nodeType": "YulIdentifier",
"src": "14367:3:1"
},
"nativeSrc": "14367:17:1",
"nodeType": "YulFunctionCall",
"src": "14367:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "14320:37:1",
"nodeType": "YulIdentifier",
"src": "14320:37:1"
},
"nativeSrc": "14320:65:1",
"nodeType": "YulFunctionCall",
"src": "14320:65:1"
},
"nativeSrc": "14320:65:1",
"nodeType": "YulExpressionStatement",
"src": "14320:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14406:9:1",
"nodeType": "YulIdentifier",
"src": "14406:9:1"
},
{
"kind": "number",
"nativeSrc": "14417:2:1",
"nodeType": "YulLiteral",
"src": "14417:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14402:3:1",
"nodeType": "YulIdentifier",
"src": "14402:3:1"
},
"nativeSrc": "14402:18:1",
"nodeType": "YulFunctionCall",
"src": "14402:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "14426:4:1",
"nodeType": "YulIdentifier",
"src": "14426:4:1"
},
{
"name": "headStart",
"nativeSrc": "14432:9:1",
"nodeType": "YulIdentifier",
"src": "14432:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "14422:3:1",
"nodeType": "YulIdentifier",
"src": "14422:3:1"
},
"nativeSrc": "14422:20:1",
"nodeType": "YulFunctionCall",
"src": "14422:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14395:6:1",
"nodeType": "YulIdentifier",
"src": "14395:6:1"
},
"nativeSrc": "14395:48:1",
"nodeType": "YulFunctionCall",
"src": "14395:48:1"
},
"nativeSrc": "14395:48:1",
"nodeType": "YulExpressionStatement",
"src": "14395:48:1"
},
{
"nativeSrc": "14452:86:1",
"nodeType": "YulAssignment",
"src": "14452:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "14524:6:1",
"nodeType": "YulIdentifier",
"src": "14524:6:1"
},
{
"name": "tail",
"nativeSrc": "14533:4:1",
"nodeType": "YulIdentifier",
"src": "14533:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "14460:63:1",
"nodeType": "YulIdentifier",
"src": "14460:63:1"
},
"nativeSrc": "14460:78:1",
"nodeType": "YulFunctionCall",
"src": "14460:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14452:4:1",
"nodeType": "YulIdentifier",
"src": "14452:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14559:9:1",
"nodeType": "YulIdentifier",
"src": "14559:9:1"
},
{
"kind": "number",
"nativeSrc": "14570:2:1",
"nodeType": "YulLiteral",
"src": "14570:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14555:3:1",
"nodeType": "YulIdentifier",
"src": "14555:3:1"
},
"nativeSrc": "14555:18:1",
"nodeType": "YulFunctionCall",
"src": "14555:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "14579:4:1",
"nodeType": "YulIdentifier",
"src": "14579:4:1"
},
{
"name": "headStart",
"nativeSrc": "14585:9:1",
"nodeType": "YulIdentifier",
"src": "14585:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "14575:3:1",
"nodeType": "YulIdentifier",
"src": "14575:3:1"
},
"nativeSrc": "14575:20:1",
"nodeType": "YulFunctionCall",
"src": "14575:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "14548:6:1",
"nodeType": "YulIdentifier",
"src": "14548:6:1"
},
"nativeSrc": "14548:48:1",
"nodeType": "YulFunctionCall",
"src": "14548:48:1"
},
"nativeSrc": "14548:48:1",
"nodeType": "YulExpressionStatement",
"src": "14548:48:1"
},
{
"nativeSrc": "14605:139:1",
"nodeType": "YulAssignment",
"src": "14605:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "14739:4:1",
"nodeType": "YulIdentifier",
"src": "14739:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_to_t_string_memory_ptr_fromStack",
"nativeSrc": "14613:124:1",
"nodeType": "YulIdentifier",
"src": "14613:124:1"
},
"nativeSrc": "14613:131:1",
"nodeType": "YulFunctionCall",
"src": "14613:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "14605:4:1",
"nodeType": "YulIdentifier",
"src": "14605:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "14796:6:1",
"nodeType": "YulIdentifier",
"src": "14796:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14809:9:1",
"nodeType": "YulIdentifier",
"src": "14809:9:1"
},
{
"kind": "number",
"nativeSrc": "14820:2:1",
"nodeType": "YulLiteral",
"src": "14820:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14805:3:1",
"nodeType": "YulIdentifier",
"src": "14805:3:1"
},
"nativeSrc": "14805:18:1",
"nodeType": "YulFunctionCall",
"src": "14805:18:1"
}
],
"functionName": {
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nativeSrc": "14754:41:1",
"nodeType": "YulIdentifier",
"src": "14754:41:1"
},
"nativeSrc": "14754:70:1",
"nodeType": "YulFunctionCall",
"src": "14754:70:1"
},
"nativeSrc": "14754:70:1",
"nodeType": "YulExpressionStatement",
"src": "14754:70:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "14878:6:1",
"nodeType": "YulIdentifier",
"src": "14878:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "14891:9:1",
"nodeType": "YulIdentifier",
"src": "14891:9:1"
},
{
"kind": "number",
"nativeSrc": "14902:3:1",
"nodeType": "YulLiteral",
"src": "14902:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "14887:3:1",
"nodeType": "YulIdentifier",
"src": "14887:3:1"
},
"nativeSrc": "14887:19:1",
"nodeType": "YulFunctionCall",
"src": "14887:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "14834:43:1",
"nodeType": "YulIdentifier",
"src": "14834:43:1"
},
"nativeSrc": "14834:73:1",
"nodeType": "YulFunctionCall",
"src": "14834:73:1"
},
"nativeSrc": "14834:73:1",
"nodeType": "YulExpressionStatement",
"src": "14834:73:1"
}
]
},
"name": "abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_50a97f23c5119bdada150dd747dad0c52d0fcca899436a501c98e865f82ff03f_t_int256_t_uint256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_uint256__fromStack_reversed",
"nativeSrc": "13978:936:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "14221:9:1",
"nodeType": "YulTypedName",
"src": "14221:9:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "14233:6:1",
"nodeType": "YulTypedName",
"src": "14233:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "14241:6:1",
"nodeType": "YulTypedName",
"src": "14241:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "14249:6:1",
"nodeType": "YulTypedName",
"src": "14249:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "14257:6:1",
"nodeType": "YulTypedName",
"src": "14257:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "14268:4:1",
"nodeType": "YulTypedName",
"src": "14268:4:1",
"type": ""
}
],
"src": "13978:936:1"
},
{
"body": {
"nativeSrc": "15026:54:1",
"nodeType": "YulBlock",
"src": "15026:54:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "15048:6:1",
"nodeType": "YulIdentifier",
"src": "15048:6:1"
},
{
"kind": "number",
"nativeSrc": "15056:1:1",
"nodeType": "YulLiteral",
"src": "15056:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15044:3:1",
"nodeType": "YulIdentifier",
"src": "15044:3:1"
},
"nativeSrc": "15044:14:1",
"nodeType": "YulFunctionCall",
"src": "15044:14:1"
},
{
"hexValue": "6c65737365725468616e",
"kind": "string",
"nativeSrc": "15060:12:1",
"nodeType": "YulLiteral",
"src": "15060:12:1",
"type": "",
"value": "lesserThan"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15037:6:1",
"nodeType": "YulIdentifier",
"src": "15037:6:1"
},
"nativeSrc": "15037:36:1",
"nodeType": "YulFunctionCall",
"src": "15037:36:1"
},
"nativeSrc": "15037:36:1",
"nodeType": "YulExpressionStatement",
"src": "15037:36:1"
}
]
},
"name": "store_literal_in_memory_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d",
"nativeSrc": "14920:160:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "15018:6:1",
"nodeType": "YulTypedName",
"src": "15018:6:1",
"type": ""
}
],
"src": "14920:160:1"
},
{
"body": {
"nativeSrc": "15232:220:1",
"nodeType": "YulBlock",
"src": "15232:220:1",
"statements": [
{
"nativeSrc": "15242:74:1",
"nodeType": "YulAssignment",
"src": "15242:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15308:3:1",
"nodeType": "YulIdentifier",
"src": "15308:3:1"
},
{
"kind": "number",
"nativeSrc": "15313:2:1",
"nodeType": "YulLiteral",
"src": "15313:2:1",
"type": "",
"value": "10"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "15249:58:1",
"nodeType": "YulIdentifier",
"src": "15249:58:1"
},
"nativeSrc": "15249:67:1",
"nodeType": "YulFunctionCall",
"src": "15249:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "15242:3:1",
"nodeType": "YulIdentifier",
"src": "15242:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15414:3:1",
"nodeType": "YulIdentifier",
"src": "15414:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d",
"nativeSrc": "15325:88:1",
"nodeType": "YulIdentifier",
"src": "15325:88:1"
},
"nativeSrc": "15325:93:1",
"nodeType": "YulFunctionCall",
"src": "15325:93:1"
},
"nativeSrc": "15325:93:1",
"nodeType": "YulExpressionStatement",
"src": "15325:93:1"
},
{
"nativeSrc": "15427:19:1",
"nodeType": "YulAssignment",
"src": "15427:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "15438:3:1",
"nodeType": "YulIdentifier",
"src": "15438:3:1"
},
{
"kind": "number",
"nativeSrc": "15443:2:1",
"nodeType": "YulLiteral",
"src": "15443:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15434:3:1",
"nodeType": "YulIdentifier",
"src": "15434:3:1"
},
"nativeSrc": "15434:12:1",
"nodeType": "YulFunctionCall",
"src": "15434:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "15427:3:1",
"nodeType": "YulIdentifier",
"src": "15427:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "15086:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "15220:3:1",
"nodeType": "YulTypedName",
"src": "15220:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "15228:3:1",
"nodeType": "YulTypedName",
"src": "15228:3:1",
"type": ""
}
],
"src": "15086:366:1"
},
{
"body": {
"nativeSrc": "15753:641:1",
"nodeType": "YulBlock",
"src": "15753:641:1",
"statements": [
{
"nativeSrc": "15763:27:1",
"nodeType": "YulAssignment",
"src": "15763:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "15775:9:1",
"nodeType": "YulIdentifier",
"src": "15775:9:1"
},
{
"kind": "number",
"nativeSrc": "15786:3:1",
"nodeType": "YulLiteral",
"src": "15786:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15771:3:1",
"nodeType": "YulIdentifier",
"src": "15771:3:1"
},
"nativeSrc": "15771:19:1",
"nodeType": "YulFunctionCall",
"src": "15771:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "15763:4:1",
"nodeType": "YulIdentifier",
"src": "15763:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "15838:6:1",
"nodeType": "YulIdentifier",
"src": "15838:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "15851:9:1",
"nodeType": "YulIdentifier",
"src": "15851:9:1"
},
{
"kind": "number",
"nativeSrc": "15862:1:1",
"nodeType": "YulLiteral",
"src": "15862:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15847:3:1",
"nodeType": "YulIdentifier",
"src": "15847:3:1"
},
"nativeSrc": "15847:17:1",
"nodeType": "YulFunctionCall",
"src": "15847:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "15800:37:1",
"nodeType": "YulIdentifier",
"src": "15800:37:1"
},
"nativeSrc": "15800:65:1",
"nodeType": "YulFunctionCall",
"src": "15800:65:1"
},
"nativeSrc": "15800:65:1",
"nodeType": "YulExpressionStatement",
"src": "15800:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "15886:9:1",
"nodeType": "YulIdentifier",
"src": "15886:9:1"
},
{
"kind": "number",
"nativeSrc": "15897:2:1",
"nodeType": "YulLiteral",
"src": "15897:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "15882:3:1",
"nodeType": "YulIdentifier",
"src": "15882:3:1"
},
"nativeSrc": "15882:18:1",
"nodeType": "YulFunctionCall",
"src": "15882:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "15906:4:1",
"nodeType": "YulIdentifier",
"src": "15906:4:1"
},
{
"name": "headStart",
"nativeSrc": "15912:9:1",
"nodeType": "YulIdentifier",
"src": "15912:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "15902:3:1",
"nodeType": "YulIdentifier",
"src": "15902:3:1"
},
"nativeSrc": "15902:20:1",
"nodeType": "YulFunctionCall",
"src": "15902:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "15875:6:1",
"nodeType": "YulIdentifier",
"src": "15875:6:1"
},
"nativeSrc": "15875:48:1",
"nodeType": "YulFunctionCall",
"src": "15875:48:1"
},
"nativeSrc": "15875:48:1",
"nodeType": "YulExpressionStatement",
"src": "15875:48:1"
},
{
"nativeSrc": "15932:86:1",
"nodeType": "YulAssignment",
"src": "15932:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "16004:6:1",
"nodeType": "YulIdentifier",
"src": "16004:6:1"
},
{
"name": "tail",
"nativeSrc": "16013:4:1",
"nodeType": "YulIdentifier",
"src": "16013:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "15940:63:1",
"nodeType": "YulIdentifier",
"src": "15940:63:1"
},
"nativeSrc": "15940:78:1",
"nodeType": "YulFunctionCall",
"src": "15940:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "15932:4:1",
"nodeType": "YulIdentifier",
"src": "15932:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16039:9:1",
"nodeType": "YulIdentifier",
"src": "16039:9:1"
},
{
"kind": "number",
"nativeSrc": "16050:2:1",
"nodeType": "YulLiteral",
"src": "16050:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16035:3:1",
"nodeType": "YulIdentifier",
"src": "16035:3:1"
},
"nativeSrc": "16035:18:1",
"nodeType": "YulFunctionCall",
"src": "16035:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "16059:4:1",
"nodeType": "YulIdentifier",
"src": "16059:4:1"
},
{
"name": "headStart",
"nativeSrc": "16065:9:1",
"nodeType": "YulIdentifier",
"src": "16065:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "16055:3:1",
"nodeType": "YulIdentifier",
"src": "16055:3:1"
},
"nativeSrc": "16055:20:1",
"nodeType": "YulFunctionCall",
"src": "16055:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "16028:6:1",
"nodeType": "YulIdentifier",
"src": "16028:6:1"
},
"nativeSrc": "16028:48:1",
"nodeType": "YulFunctionCall",
"src": "16028:48:1"
},
"nativeSrc": "16028:48:1",
"nodeType": "YulExpressionStatement",
"src": "16028:48:1"
},
{
"nativeSrc": "16085:139:1",
"nodeType": "YulAssignment",
"src": "16085:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "16219:4:1",
"nodeType": "YulIdentifier",
"src": "16219:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "16093:124:1",
"nodeType": "YulIdentifier",
"src": "16093:124:1"
},
"nativeSrc": "16093:131:1",
"nodeType": "YulFunctionCall",
"src": "16093:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "16085:4:1",
"nodeType": "YulIdentifier",
"src": "16085:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "16278:6:1",
"nodeType": "YulIdentifier",
"src": "16278:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16291:9:1",
"nodeType": "YulIdentifier",
"src": "16291:9:1"
},
{
"kind": "number",
"nativeSrc": "16302:2:1",
"nodeType": "YulLiteral",
"src": "16302:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16287:3:1",
"nodeType": "YulIdentifier",
"src": "16287:3:1"
},
"nativeSrc": "16287:18:1",
"nodeType": "YulFunctionCall",
"src": "16287:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "16234:43:1",
"nodeType": "YulIdentifier",
"src": "16234:43:1"
},
"nativeSrc": "16234:72:1",
"nodeType": "YulFunctionCall",
"src": "16234:72:1"
},
"nativeSrc": "16234:72:1",
"nodeType": "YulExpressionStatement",
"src": "16234:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "16358:6:1",
"nodeType": "YulIdentifier",
"src": "16358:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "16371:9:1",
"nodeType": "YulIdentifier",
"src": "16371:9:1"
},
{
"kind": "number",
"nativeSrc": "16382:3:1",
"nodeType": "YulLiteral",
"src": "16382:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16367:3:1",
"nodeType": "YulIdentifier",
"src": "16367:3:1"
},
"nativeSrc": "16367:19:1",
"nodeType": "YulFunctionCall",
"src": "16367:19:1"
}
],
"functionName": {
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nativeSrc": "16316:41:1",
"nodeType": "YulIdentifier",
"src": "16316:41:1"
},
"nativeSrc": "16316:71:1",
"nodeType": "YulFunctionCall",
"src": "16316:71:1"
},
"nativeSrc": "16316:71:1",
"nodeType": "YulExpressionStatement",
"src": "16316:71:1"
}
]
},
"name": "abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_uint256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_int256__fromStack_reversed",
"nativeSrc": "15458:936:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "15701:9:1",
"nodeType": "YulTypedName",
"src": "15701:9:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "15713:6:1",
"nodeType": "YulTypedName",
"src": "15713:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "15721:6:1",
"nodeType": "YulTypedName",
"src": "15721:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "15729:6:1",
"nodeType": "YulTypedName",
"src": "15729:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "15737:6:1",
"nodeType": "YulTypedName",
"src": "15737:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "15748:4:1",
"nodeType": "YulTypedName",
"src": "15748:4:1",
"type": ""
}
],
"src": "15458:936:1"
},
{
"body": {
"nativeSrc": "16506:46:1",
"nodeType": "YulBlock",
"src": "16506:46:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "16528:6:1",
"nodeType": "YulIdentifier",
"src": "16528:6:1"
},
{
"kind": "number",
"nativeSrc": "16536:1:1",
"nodeType": "YulLiteral",
"src": "16536:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16524:3:1",
"nodeType": "YulIdentifier",
"src": "16524:3:1"
},
"nativeSrc": "16524:14:1",
"nodeType": "YulFunctionCall",
"src": "16524:14:1"
},
{
"hexValue": "6f6b",
"kind": "string",
"nativeSrc": "16540:4:1",
"nodeType": "YulLiteral",
"src": "16540:4:1",
"type": "",
"value": "ok"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "16517:6:1",
"nodeType": "YulIdentifier",
"src": "16517:6:1"
},
"nativeSrc": "16517:28:1",
"nodeType": "YulFunctionCall",
"src": "16517:28:1"
},
"nativeSrc": "16517:28:1",
"nodeType": "YulExpressionStatement",
"src": "16517:28:1"
}
]
},
"name": "store_literal_in_memory_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8",
"nativeSrc": "16400:152:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "16498:6:1",
"nodeType": "YulTypedName",
"src": "16498:6:1",
"type": ""
}
],
"src": "16400:152:1"
},
{
"body": {
"nativeSrc": "16704:219:1",
"nodeType": "YulBlock",
"src": "16704:219:1",
"statements": [
{
"nativeSrc": "16714:73:1",
"nodeType": "YulAssignment",
"src": "16714:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16780:3:1",
"nodeType": "YulIdentifier",
"src": "16780:3:1"
},
{
"kind": "number",
"nativeSrc": "16785:1:1",
"nodeType": "YulLiteral",
"src": "16785:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "16721:58:1",
"nodeType": "YulIdentifier",
"src": "16721:58:1"
},
"nativeSrc": "16721:66:1",
"nodeType": "YulFunctionCall",
"src": "16721:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "16714:3:1",
"nodeType": "YulIdentifier",
"src": "16714:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16885:3:1",
"nodeType": "YulIdentifier",
"src": "16885:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8",
"nativeSrc": "16796:88:1",
"nodeType": "YulIdentifier",
"src": "16796:88:1"
},
"nativeSrc": "16796:93:1",
"nodeType": "YulFunctionCall",
"src": "16796:93:1"
},
"nativeSrc": "16796:93:1",
"nodeType": "YulExpressionStatement",
"src": "16796:93:1"
},
{
"nativeSrc": "16898:19:1",
"nodeType": "YulAssignment",
"src": "16898:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "16909:3:1",
"nodeType": "YulIdentifier",
"src": "16909:3:1"
},
{
"kind": "number",
"nativeSrc": "16914:2:1",
"nodeType": "YulLiteral",
"src": "16914:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "16905:3:1",
"nodeType": "YulIdentifier",
"src": "16905:3:1"
},
"nativeSrc": "16905:12:1",
"nodeType": "YulFunctionCall",
"src": "16905:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "16898:3:1",
"nodeType": "YulIdentifier",
"src": "16898:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8_to_t_string_memory_ptr_fromStack",
"nativeSrc": "16558:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "16692:3:1",
"nodeType": "YulTypedName",
"src": "16692:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "16700:3:1",
"nodeType": "YulTypedName",
"src": "16700:3:1",
"type": ""
}
],
"src": "16558:365:1"
},
{
"body": {
"nativeSrc": "17170:477:1",
"nodeType": "YulBlock",
"src": "17170:477:1",
"statements": [
{
"nativeSrc": "17180:26:1",
"nodeType": "YulAssignment",
"src": "17180:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "17192:9:1",
"nodeType": "YulIdentifier",
"src": "17192:9:1"
},
{
"kind": "number",
"nativeSrc": "17203:2:1",
"nodeType": "YulLiteral",
"src": "17203:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17188:3:1",
"nodeType": "YulIdentifier",
"src": "17188:3:1"
},
"nativeSrc": "17188:18:1",
"nodeType": "YulFunctionCall",
"src": "17188:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "17180:4:1",
"nodeType": "YulIdentifier",
"src": "17180:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "17254:6:1",
"nodeType": "YulIdentifier",
"src": "17254:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "17267:9:1",
"nodeType": "YulIdentifier",
"src": "17267:9:1"
},
{
"kind": "number",
"nativeSrc": "17278:1:1",
"nodeType": "YulLiteral",
"src": "17278:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17263:3:1",
"nodeType": "YulIdentifier",
"src": "17263:3:1"
},
"nativeSrc": "17263:17:1",
"nodeType": "YulFunctionCall",
"src": "17263:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "17216:37:1",
"nodeType": "YulIdentifier",
"src": "17216:37:1"
},
"nativeSrc": "17216:65:1",
"nodeType": "YulFunctionCall",
"src": "17216:65:1"
},
"nativeSrc": "17216:65:1",
"nodeType": "YulExpressionStatement",
"src": "17216:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "17302:9:1",
"nodeType": "YulIdentifier",
"src": "17302:9:1"
},
{
"kind": "number",
"nativeSrc": "17313:2:1",
"nodeType": "YulLiteral",
"src": "17313:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17298:3:1",
"nodeType": "YulIdentifier",
"src": "17298:3:1"
},
"nativeSrc": "17298:18:1",
"nodeType": "YulFunctionCall",
"src": "17298:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "17322:4:1",
"nodeType": "YulIdentifier",
"src": "17322:4:1"
},
{
"name": "headStart",
"nativeSrc": "17328:9:1",
"nodeType": "YulIdentifier",
"src": "17328:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "17318:3:1",
"nodeType": "YulIdentifier",
"src": "17318:3:1"
},
"nativeSrc": "17318:20:1",
"nodeType": "YulFunctionCall",
"src": "17318:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17291:6:1",
"nodeType": "YulIdentifier",
"src": "17291:6:1"
},
"nativeSrc": "17291:48:1",
"nodeType": "YulFunctionCall",
"src": "17291:48:1"
},
"nativeSrc": "17291:48:1",
"nodeType": "YulExpressionStatement",
"src": "17291:48:1"
},
{
"nativeSrc": "17348:86:1",
"nodeType": "YulAssignment",
"src": "17348:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "17420:6:1",
"nodeType": "YulIdentifier",
"src": "17420:6:1"
},
{
"name": "tail",
"nativeSrc": "17429:4:1",
"nodeType": "YulIdentifier",
"src": "17429:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "17356:63:1",
"nodeType": "YulIdentifier",
"src": "17356:63:1"
},
"nativeSrc": "17356:78:1",
"nodeType": "YulFunctionCall",
"src": "17356:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "17348:4:1",
"nodeType": "YulIdentifier",
"src": "17348:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "17455:9:1",
"nodeType": "YulIdentifier",
"src": "17455:9:1"
},
{
"kind": "number",
"nativeSrc": "17466:2:1",
"nodeType": "YulLiteral",
"src": "17466:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17451:3:1",
"nodeType": "YulIdentifier",
"src": "17451:3:1"
},
"nativeSrc": "17451:18:1",
"nodeType": "YulFunctionCall",
"src": "17451:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "17475:4:1",
"nodeType": "YulIdentifier",
"src": "17475:4:1"
},
{
"name": "headStart",
"nativeSrc": "17481:9:1",
"nodeType": "YulIdentifier",
"src": "17481:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "17471:3:1",
"nodeType": "YulIdentifier",
"src": "17471:3:1"
},
"nativeSrc": "17471:20:1",
"nodeType": "YulFunctionCall",
"src": "17471:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17444:6:1",
"nodeType": "YulIdentifier",
"src": "17444:6:1"
},
"nativeSrc": "17444:48:1",
"nodeType": "YulFunctionCall",
"src": "17444:48:1"
},
"nativeSrc": "17444:48:1",
"nodeType": "YulExpressionStatement",
"src": "17444:48:1"
},
{
"nativeSrc": "17501:139:1",
"nodeType": "YulAssignment",
"src": "17501:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "17635:4:1",
"nodeType": "YulIdentifier",
"src": "17635:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8_to_t_string_memory_ptr_fromStack",
"nativeSrc": "17509:124:1",
"nodeType": "YulIdentifier",
"src": "17509:124:1"
},
"nativeSrc": "17509:131:1",
"nodeType": "YulFunctionCall",
"src": "17509:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "17501:4:1",
"nodeType": "YulIdentifier",
"src": "17501:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_14502d3ab34ae28d404da8f6ec0501c6f295f66caa41e122cfa9b1291bc0f9e8__to_t_bool_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "16929:718:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "17134:9:1",
"nodeType": "YulTypedName",
"src": "17134:9:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "17146:6:1",
"nodeType": "YulTypedName",
"src": "17146:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "17154:6:1",
"nodeType": "YulTypedName",
"src": "17154:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "17165:4:1",
"nodeType": "YulTypedName",
"src": "17165:4:1",
"type": ""
}
],
"src": "16929:718:1"
},
{
"body": {
"nativeSrc": "17759:52:1",
"nodeType": "YulBlock",
"src": "17759:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "17781:6:1",
"nodeType": "YulIdentifier",
"src": "17781:6:1"
},
{
"kind": "number",
"nativeSrc": "17789:1:1",
"nodeType": "YulLiteral",
"src": "17789:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "17777:3:1",
"nodeType": "YulIdentifier",
"src": "17777:3:1"
},
"nativeSrc": "17777:14:1",
"nodeType": "YulFunctionCall",
"src": "17777:14:1"
},
{
"hexValue": "6e6f74457175616c",
"kind": "string",
"nativeSrc": "17793:10:1",
"nodeType": "YulLiteral",
"src": "17793:10:1",
"type": "",
"value": "notEqual"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "17770:6:1",
"nodeType": "YulIdentifier",
"src": "17770:6:1"
},
"nativeSrc": "17770:34:1",
"nodeType": "YulFunctionCall",
"src": "17770:34:1"
},
"nativeSrc": "17770:34:1",
"nodeType": "YulExpressionStatement",
"src": "17770:34:1"
}
]
},
"name": "store_literal_in_memory_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce",
"nativeSrc": "17653:158:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "17751:6:1",
"nodeType": "YulTypedName",
"src": "17751:6:1",
"type": ""
}
],
"src": "17653:158:1"
},
{
"body": {
"nativeSrc": "17963:219:1",
"nodeType": "YulBlock",
"src": "17963:219:1",
"statements": [
{
"nativeSrc": "17973:73:1",
"nodeType": "YulAssignment",
"src": "17973:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18039:3:1",
"nodeType": "YulIdentifier",
"src": "18039:3:1"
},
{
"kind": "number",
"nativeSrc": "18044:1:1",
"nodeType": "YulLiteral",
"src": "18044:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "17980:58:1",
"nodeType": "YulIdentifier",
"src": "17980:58:1"
},
"nativeSrc": "17980:66:1",
"nodeType": "YulFunctionCall",
"src": "17980:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "17973:3:1",
"nodeType": "YulIdentifier",
"src": "17973:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18144:3:1",
"nodeType": "YulIdentifier",
"src": "18144:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce",
"nativeSrc": "18055:88:1",
"nodeType": "YulIdentifier",
"src": "18055:88:1"
},
"nativeSrc": "18055:93:1",
"nodeType": "YulFunctionCall",
"src": "18055:93:1"
},
"nativeSrc": "18055:93:1",
"nodeType": "YulExpressionStatement",
"src": "18055:93:1"
},
{
"nativeSrc": "18157:19:1",
"nodeType": "YulAssignment",
"src": "18157:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "18168:3:1",
"nodeType": "YulIdentifier",
"src": "18168:3:1"
},
{
"kind": "number",
"nativeSrc": "18173:2:1",
"nodeType": "YulLiteral",
"src": "18173:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18164:3:1",
"nodeType": "YulIdentifier",
"src": "18164:3:1"
},
"nativeSrc": "18164:12:1",
"nodeType": "YulFunctionCall",
"src": "18164:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "18157:3:1",
"nodeType": "YulIdentifier",
"src": "18157:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_to_t_string_memory_ptr_fromStack",
"nativeSrc": "17817:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "17951:3:1",
"nodeType": "YulTypedName",
"src": "17951:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "17959:3:1",
"nodeType": "YulTypedName",
"src": "17959:3:1",
"type": ""
}
],
"src": "17817:365:1"
},
{
"body": {
"nativeSrc": "18473:631:1",
"nodeType": "YulBlock",
"src": "18473:631:1",
"statements": [
{
"nativeSrc": "18483:27:1",
"nodeType": "YulAssignment",
"src": "18483:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "18495:9:1",
"nodeType": "YulIdentifier",
"src": "18495:9:1"
},
{
"kind": "number",
"nativeSrc": "18506:3:1",
"nodeType": "YulLiteral",
"src": "18506:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18491:3:1",
"nodeType": "YulIdentifier",
"src": "18491:3:1"
},
"nativeSrc": "18491:19:1",
"nodeType": "YulFunctionCall",
"src": "18491:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "18483:4:1",
"nodeType": "YulIdentifier",
"src": "18483:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "18558:6:1",
"nodeType": "YulIdentifier",
"src": "18558:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18571:9:1",
"nodeType": "YulIdentifier",
"src": "18571:9:1"
},
{
"kind": "number",
"nativeSrc": "18582:1:1",
"nodeType": "YulLiteral",
"src": "18582:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18567:3:1",
"nodeType": "YulIdentifier",
"src": "18567:3:1"
},
"nativeSrc": "18567:17:1",
"nodeType": "YulFunctionCall",
"src": "18567:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "18520:37:1",
"nodeType": "YulIdentifier",
"src": "18520:37:1"
},
"nativeSrc": "18520:65:1",
"nodeType": "YulFunctionCall",
"src": "18520:65:1"
},
"nativeSrc": "18520:65:1",
"nodeType": "YulExpressionStatement",
"src": "18520:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18606:9:1",
"nodeType": "YulIdentifier",
"src": "18606:9:1"
},
{
"kind": "number",
"nativeSrc": "18617:2:1",
"nodeType": "YulLiteral",
"src": "18617:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18602:3:1",
"nodeType": "YulIdentifier",
"src": "18602:3:1"
},
"nativeSrc": "18602:18:1",
"nodeType": "YulFunctionCall",
"src": "18602:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "18626:4:1",
"nodeType": "YulIdentifier",
"src": "18626:4:1"
},
{
"name": "headStart",
"nativeSrc": "18632:9:1",
"nodeType": "YulIdentifier",
"src": "18632:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "18622:3:1",
"nodeType": "YulIdentifier",
"src": "18622:3:1"
},
"nativeSrc": "18622:20:1",
"nodeType": "YulFunctionCall",
"src": "18622:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "18595:6:1",
"nodeType": "YulIdentifier",
"src": "18595:6:1"
},
"nativeSrc": "18595:48:1",
"nodeType": "YulFunctionCall",
"src": "18595:48:1"
},
"nativeSrc": "18595:48:1",
"nodeType": "YulExpressionStatement",
"src": "18595:48:1"
},
{
"nativeSrc": "18652:86:1",
"nodeType": "YulAssignment",
"src": "18652:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "18724:6:1",
"nodeType": "YulIdentifier",
"src": "18724:6:1"
},
{
"name": "tail",
"nativeSrc": "18733:4:1",
"nodeType": "YulIdentifier",
"src": "18733:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "18660:63:1",
"nodeType": "YulIdentifier",
"src": "18660:63:1"
},
"nativeSrc": "18660:78:1",
"nodeType": "YulFunctionCall",
"src": "18660:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "18652:4:1",
"nodeType": "YulIdentifier",
"src": "18652:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "18759:9:1",
"nodeType": "YulIdentifier",
"src": "18759:9:1"
},
{
"kind": "number",
"nativeSrc": "18770:2:1",
"nodeType": "YulLiteral",
"src": "18770:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "18755:3:1",
"nodeType": "YulIdentifier",
"src": "18755:3:1"
},
"nativeSrc": "18755:18:1",
"nodeType": "YulFunctionCall",
"src": "18755:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "18779:4:1",
"nodeType": "YulIdentifier",
"src": "18779:4:1"
},
{
"name": "headStart",
"nativeSrc": "18785:9:1",
"nodeType": "YulIdentifier",
"src": "18785:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "18775:3:1",
"nodeType": "YulIdentifier",
"src": "18775:3:1"
},
"nativeSrc": "18775:20:1",
"nodeType": "YulFunctionCall",
"src": "18775:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "18748:6:1",
"nodeType": "YulIdentifier",
"src": "18748:6:1"
},
"nativeSrc": "18748:48:1",
"nodeType": "YulFunctionCall",
"src": "18748:48:1"
},
"nativeSrc": "18748:48:1",
"nodeType": "YulExpressionStatement",
"src": "18748:48:1"
},
{
"nativeSrc": "18805:139:1",
"nodeType": "YulAssignment",
"src": "18805:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "18939:4:1",
"nodeType": "YulIdentifier",
"src": "18939:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_to_t_string_memory_ptr_fromStack",
"nativeSrc": "18813:124:1",
"nodeType": "YulIdentifier",
"src": "18813:124:1"
},
"nativeSrc": "18813:131:1",
"nodeType": "YulFunctionCall",
"src": "18813:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "18805:4:1",
"nodeType": "YulIdentifier",
"src": "18805:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "18992:6:1",
"nodeType": "YulIdentifier",
"src": "18992:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19005:9:1",
"nodeType": "YulIdentifier",
"src": "19005:9:1"
},
{
"kind": "number",
"nativeSrc": "19016:2:1",
"nodeType": "YulLiteral",
"src": "19016:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19001:3:1",
"nodeType": "YulIdentifier",
"src": "19001:3:1"
},
"nativeSrc": "19001:18:1",
"nodeType": "YulFunctionCall",
"src": "19001:18:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "18954:37:1",
"nodeType": "YulIdentifier",
"src": "18954:37:1"
},
"nativeSrc": "18954:66:1",
"nodeType": "YulFunctionCall",
"src": "18954:66:1"
},
"nativeSrc": "18954:66:1",
"nodeType": "YulExpressionStatement",
"src": "18954:66:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "19068:6:1",
"nodeType": "YulIdentifier",
"src": "19068:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19081:9:1",
"nodeType": "YulIdentifier",
"src": "19081:9:1"
},
{
"kind": "number",
"nativeSrc": "19092:3:1",
"nodeType": "YulLiteral",
"src": "19092:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19077:3:1",
"nodeType": "YulIdentifier",
"src": "19077:3:1"
},
"nativeSrc": "19077:19:1",
"nodeType": "YulFunctionCall",
"src": "19077:19:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "19030:37:1",
"nodeType": "YulIdentifier",
"src": "19030:37:1"
},
"nativeSrc": "19030:67:1",
"nodeType": "YulFunctionCall",
"src": "19030:67:1"
},
"nativeSrc": "19030:67:1",
"nodeType": "YulExpressionStatement",
"src": "19030:67:1"
}
]
},
"name": "abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_t_bool_t_bool__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_bool__fromStack_reversed",
"nativeSrc": "18188:916:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "18421:9:1",
"nodeType": "YulTypedName",
"src": "18421:9:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "18433:6:1",
"nodeType": "YulTypedName",
"src": "18433:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "18441:6:1",
"nodeType": "YulTypedName",
"src": "18441:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "18449:6:1",
"nodeType": "YulTypedName",
"src": "18449:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "18457:6:1",
"nodeType": "YulTypedName",
"src": "18457:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "18468:4:1",
"nodeType": "YulTypedName",
"src": "18468:4:1",
"type": ""
}
],
"src": "18188:916:1"
},
{
"body": {
"nativeSrc": "19403:639:1",
"nodeType": "YulBlock",
"src": "19403:639:1",
"statements": [
{
"nativeSrc": "19413:27:1",
"nodeType": "YulAssignment",
"src": "19413:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "19425:9:1",
"nodeType": "YulIdentifier",
"src": "19425:9:1"
},
{
"kind": "number",
"nativeSrc": "19436:3:1",
"nodeType": "YulLiteral",
"src": "19436:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19421:3:1",
"nodeType": "YulIdentifier",
"src": "19421:3:1"
},
"nativeSrc": "19421:19:1",
"nodeType": "YulFunctionCall",
"src": "19421:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "19413:4:1",
"nodeType": "YulIdentifier",
"src": "19413:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "19488:6:1",
"nodeType": "YulIdentifier",
"src": "19488:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19501:9:1",
"nodeType": "YulIdentifier",
"src": "19501:9:1"
},
{
"kind": "number",
"nativeSrc": "19512:1:1",
"nodeType": "YulLiteral",
"src": "19512:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19497:3:1",
"nodeType": "YulIdentifier",
"src": "19497:3:1"
},
"nativeSrc": "19497:17:1",
"nodeType": "YulFunctionCall",
"src": "19497:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "19450:37:1",
"nodeType": "YulIdentifier",
"src": "19450:37:1"
},
"nativeSrc": "19450:65:1",
"nodeType": "YulFunctionCall",
"src": "19450:65:1"
},
"nativeSrc": "19450:65:1",
"nodeType": "YulExpressionStatement",
"src": "19450:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19536:9:1",
"nodeType": "YulIdentifier",
"src": "19536:9:1"
},
{
"kind": "number",
"nativeSrc": "19547:2:1",
"nodeType": "YulLiteral",
"src": "19547:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19532:3:1",
"nodeType": "YulIdentifier",
"src": "19532:3:1"
},
"nativeSrc": "19532:18:1",
"nodeType": "YulFunctionCall",
"src": "19532:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "19556:4:1",
"nodeType": "YulIdentifier",
"src": "19556:4:1"
},
{
"name": "headStart",
"nativeSrc": "19562:9:1",
"nodeType": "YulIdentifier",
"src": "19562:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "19552:3:1",
"nodeType": "YulIdentifier",
"src": "19552:3:1"
},
"nativeSrc": "19552:20:1",
"nodeType": "YulFunctionCall",
"src": "19552:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "19525:6:1",
"nodeType": "YulIdentifier",
"src": "19525:6:1"
},
"nativeSrc": "19525:48:1",
"nodeType": "YulFunctionCall",
"src": "19525:48:1"
},
"nativeSrc": "19525:48:1",
"nodeType": "YulExpressionStatement",
"src": "19525:48:1"
},
{
"nativeSrc": "19582:86:1",
"nodeType": "YulAssignment",
"src": "19582:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "19654:6:1",
"nodeType": "YulIdentifier",
"src": "19654:6:1"
},
{
"name": "tail",
"nativeSrc": "19663:4:1",
"nodeType": "YulIdentifier",
"src": "19663:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "19590:63:1",
"nodeType": "YulIdentifier",
"src": "19590:63:1"
},
"nativeSrc": "19590:78:1",
"nodeType": "YulFunctionCall",
"src": "19590:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "19582:4:1",
"nodeType": "YulIdentifier",
"src": "19582:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19689:9:1",
"nodeType": "YulIdentifier",
"src": "19689:9:1"
},
{
"kind": "number",
"nativeSrc": "19700:2:1",
"nodeType": "YulLiteral",
"src": "19700:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19685:3:1",
"nodeType": "YulIdentifier",
"src": "19685:3:1"
},
"nativeSrc": "19685:18:1",
"nodeType": "YulFunctionCall",
"src": "19685:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "19709:4:1",
"nodeType": "YulIdentifier",
"src": "19709:4:1"
},
{
"name": "headStart",
"nativeSrc": "19715:9:1",
"nodeType": "YulIdentifier",
"src": "19715:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "19705:3:1",
"nodeType": "YulIdentifier",
"src": "19705:3:1"
},
"nativeSrc": "19705:20:1",
"nodeType": "YulFunctionCall",
"src": "19705:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "19678:6:1",
"nodeType": "YulIdentifier",
"src": "19678:6:1"
},
"nativeSrc": "19678:48:1",
"nodeType": "YulFunctionCall",
"src": "19678:48:1"
},
"nativeSrc": "19678:48:1",
"nodeType": "YulExpressionStatement",
"src": "19678:48:1"
},
{
"nativeSrc": "19735:139:1",
"nodeType": "YulAssignment",
"src": "19735:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "19869:4:1",
"nodeType": "YulIdentifier",
"src": "19869:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_to_t_string_memory_ptr_fromStack",
"nativeSrc": "19743:124:1",
"nodeType": "YulIdentifier",
"src": "19743:124:1"
},
"nativeSrc": "19743:131:1",
"nodeType": "YulFunctionCall",
"src": "19743:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "19735:4:1",
"nodeType": "YulIdentifier",
"src": "19735:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "19926:6:1",
"nodeType": "YulIdentifier",
"src": "19926:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "19939:9:1",
"nodeType": "YulIdentifier",
"src": "19939:9:1"
},
{
"kind": "number",
"nativeSrc": "19950:2:1",
"nodeType": "YulLiteral",
"src": "19950:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "19935:3:1",
"nodeType": "YulIdentifier",
"src": "19935:3:1"
},
"nativeSrc": "19935:18:1",
"nodeType": "YulFunctionCall",
"src": "19935:18:1"
}
],
"functionName": {
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nativeSrc": "19884:41:1",
"nodeType": "YulIdentifier",
"src": "19884:41:1"
},
"nativeSrc": "19884:70:1",
"nodeType": "YulFunctionCall",
"src": "19884:70:1"
},
"nativeSrc": "19884:70:1",
"nodeType": "YulExpressionStatement",
"src": "19884:70:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "20006:6:1",
"nodeType": "YulIdentifier",
"src": "20006:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "20019:9:1",
"nodeType": "YulIdentifier",
"src": "20019:9:1"
},
{
"kind": "number",
"nativeSrc": "20030:3:1",
"nodeType": "YulLiteral",
"src": "20030:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20015:3:1",
"nodeType": "YulIdentifier",
"src": "20015:3:1"
},
"nativeSrc": "20015:19:1",
"nodeType": "YulFunctionCall",
"src": "20015:19:1"
}
],
"functionName": {
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nativeSrc": "19964:41:1",
"nodeType": "YulIdentifier",
"src": "19964:41:1"
},
"nativeSrc": "19964:71:1",
"nodeType": "YulFunctionCall",
"src": "19964:71:1"
},
"nativeSrc": "19964:71:1",
"nodeType": "YulExpressionStatement",
"src": "19964:71:1"
}
]
},
"name": "abi_encode_tuple_t_bool_t_string_memory_ptr_t_stringliteral_6eacbbc162a376a1056ee46defb5ad8c0513de0d938dbfce38c05fc663a8556d_t_int256_t_int256__to_t_bool_t_string_memory_ptr_t_string_memory_ptr_t_int256_t_int256__fromStack_reversed",
"nativeSrc": "19110:932:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "19351:9:1",
"nodeType": "YulTypedName",
"src": "19351:9:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "19363:6:1",
"nodeType": "YulTypedName",
"src": "19363:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "19371:6:1",
"nodeType": "YulTypedName",
"src": "19371:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "19379:6:1",
"nodeType": "YulTypedName",
"src": "19379:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "19387:6:1",
"nodeType": "YulTypedName",
"src": "19387:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "19398:4:1",
"nodeType": "YulTypedName",
"src": "19398:4:1",
"type": ""
}
],
"src": "19110:932:1"
},
{
"body": {
"nativeSrc": "20162:34:1",
"nodeType": "YulBlock",
"src": "20162:34:1",
"statements": [
{
"nativeSrc": "20172:18:1",
"nodeType": "YulAssignment",
"src": "20172:18:1",
"value": {
"name": "pos",
"nativeSrc": "20187:3:1",
"nodeType": "YulIdentifier",
"src": "20187:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "20172:11:1",
"nodeType": "YulIdentifier",
"src": "20172:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "20048:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "20134:3:1",
"nodeType": "YulTypedName",
"src": "20134:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "20139:6:1",
"nodeType": "YulTypedName",
"src": "20139:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "20150:11:1",
"nodeType": "YulTypedName",
"src": "20150:11:1",
"type": ""
}
],
"src": "20048:148:1"
},
{
"body": {
"nativeSrc": "20312:280:1",
"nodeType": "YulBlock",
"src": "20312:280:1",
"statements": [
{
"nativeSrc": "20322:53:1",
"nodeType": "YulVariableDeclaration",
"src": "20322:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "20369:5:1",
"nodeType": "YulIdentifier",
"src": "20369:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "20336:32:1",
"nodeType": "YulIdentifier",
"src": "20336:32:1"
},
"nativeSrc": "20336:39:1",
"nodeType": "YulFunctionCall",
"src": "20336:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "20326:6:1",
"nodeType": "YulTypedName",
"src": "20326:6:1",
"type": ""
}
]
},
{
"nativeSrc": "20384:96:1",
"nodeType": "YulAssignment",
"src": "20384:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "20468:3:1",
"nodeType": "YulIdentifier",
"src": "20468:3:1"
},
{
"name": "length",
"nativeSrc": "20473:6:1",
"nodeType": "YulIdentifier",
"src": "20473:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "20391:76:1",
"nodeType": "YulIdentifier",
"src": "20391:76:1"
},
"nativeSrc": "20391:89:1",
"nodeType": "YulFunctionCall",
"src": "20391:89:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "20384:3:1",
"nodeType": "YulIdentifier",
"src": "20384:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "20528:5:1",
"nodeType": "YulIdentifier",
"src": "20528:5:1"
},
{
"kind": "number",
"nativeSrc": "20535:4:1",
"nodeType": "YulLiteral",
"src": "20535:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20524:3:1",
"nodeType": "YulIdentifier",
"src": "20524:3:1"
},
"nativeSrc": "20524:16:1",
"nodeType": "YulFunctionCall",
"src": "20524:16:1"
},
{
"name": "pos",
"nativeSrc": "20542:3:1",
"nodeType": "YulIdentifier",
"src": "20542:3:1"
},
{
"name": "length",
"nativeSrc": "20547:6:1",
"nodeType": "YulIdentifier",
"src": "20547:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "20489:34:1",
"nodeType": "YulIdentifier",
"src": "20489:34:1"
},
"nativeSrc": "20489:65:1",
"nodeType": "YulFunctionCall",
"src": "20489:65:1"
},
"nativeSrc": "20489:65:1",
"nodeType": "YulExpressionStatement",
"src": "20489:65:1"
},
{
"nativeSrc": "20563:23:1",
"nodeType": "YulAssignment",
"src": "20563:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "20574:3:1",
"nodeType": "YulIdentifier",
"src": "20574:3:1"
},
{
"name": "length",
"nativeSrc": "20579:6:1",
"nodeType": "YulIdentifier",
"src": "20579:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "20570:3:1",
"nodeType": "YulIdentifier",
"src": "20570:3:1"
},
"nativeSrc": "20570:16:1",
"nodeType": "YulFunctionCall",
"src": "20570:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "20563:3:1",
"nodeType": "YulIdentifier",
"src": "20563:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "20202:390:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "20293:5:1",
"nodeType": "YulTypedName",
"src": "20293:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "20300:3:1",
"nodeType": "YulTypedName",
"src": "20300:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "20308:3:1",
"nodeType": "YulTypedName",
"src": "20308:3:1",
"type": ""
}
],
"src": "20202:390:1"
},
{
"body": {
"nativeSrc": "20734:139:1",
"nodeType": "YulBlock",
"src": "20734:139:1",
"statements": [
{
"nativeSrc": "20745:102:1",
"nodeType": "YulAssignment",
"src": "20745:102:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "20834:6:1",
"nodeType": "YulIdentifier",
"src": "20834:6:1"
},
{
"name": "pos",
"nativeSrc": "20843:3:1",
"nodeType": "YulIdentifier",
"src": "20843:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "20752:81:1",
"nodeType": "YulIdentifier",
"src": "20752:81:1"
},
"nativeSrc": "20752:95:1",
"nodeType": "YulFunctionCall",
"src": "20752:95:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "20745:3:1",
"nodeType": "YulIdentifier",
"src": "20745:3:1"
}
]
},
{
"nativeSrc": "20857:10:1",
"nodeType": "YulAssignment",
"src": "20857:10:1",
"value": {
"name": "pos",
"nativeSrc": "20864:3:1",
"nodeType": "YulIdentifier",
"src": "20864:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "20857:3:1",
"nodeType": "YulIdentifier",
"src": "20857:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "20598:275:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "20713:3:1",
"nodeType": "YulTypedName",
"src": "20713:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "20719:6:1",
"nodeType": "YulTypedName",
"src": "20719:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "20730:3:1",
"nodeType": "YulTypedName",
"src": "20730:3:1",
"type": ""
}
],
"src": "20598:275:1"
},
{
"body": {
"nativeSrc": "21216:785:1",
"nodeType": "YulBlock",
"src": "21216:785:1",
"statements": [
{
"nativeSrc": "21226:27:1",
"nodeType": "YulAssignment",
"src": "21226:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "21238:9:1",
"nodeType": "YulIdentifier",
"src": "21238:9:1"
},
{
"kind": "number",
"nativeSrc": "21249:3:1",
"nodeType": "YulLiteral",
"src": "21249:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21234:3:1",
"nodeType": "YulIdentifier",
"src": "21234:3:1"
},
"nativeSrc": "21234:19:1",
"nodeType": "YulFunctionCall",
"src": "21234:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "21226:4:1",
"nodeType": "YulIdentifier",
"src": "21226:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "21301:6:1",
"nodeType": "YulIdentifier",
"src": "21301:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "21314:9:1",
"nodeType": "YulIdentifier",
"src": "21314:9:1"
},
{
"kind": "number",
"nativeSrc": "21325:1:1",
"nodeType": "YulLiteral",
"src": "21325:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21310:3:1",
"nodeType": "YulIdentifier",
"src": "21310:3:1"
},
"nativeSrc": "21310:17:1",
"nodeType": "YulFunctionCall",
"src": "21310:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "21263:37:1",
"nodeType": "YulIdentifier",
"src": "21263:37:1"
},
"nativeSrc": "21263:65:1",
"nodeType": "YulFunctionCall",
"src": "21263:65:1"
},
"nativeSrc": "21263:65:1",
"nodeType": "YulExpressionStatement",
"src": "21263:65:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "21349:9:1",
"nodeType": "YulIdentifier",
"src": "21349:9:1"
},
{
"kind": "number",
"nativeSrc": "21360:2:1",
"nodeType": "YulLiteral",
"src": "21360:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21345:3:1",
"nodeType": "YulIdentifier",
"src": "21345:3:1"
},
"nativeSrc": "21345:18:1",
"nodeType": "YulFunctionCall",
"src": "21345:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "21369:4:1",
"nodeType": "YulIdentifier",
"src": "21369:4:1"
},
{
"name": "headStart",
"nativeSrc": "21375:9:1",
"nodeType": "YulIdentifier",
"src": "21375:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "21365:3:1",
"nodeType": "YulIdentifier",
"src": "21365:3:1"
},
"nativeSrc": "21365:20:1",
"nodeType": "YulFunctionCall",
"src": "21365:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "21338:6:1",
"nodeType": "YulIdentifier",
"src": "21338:6:1"
},
"nativeSrc": "21338:48:1",
"nodeType": "YulFunctionCall",
"src": "21338:48:1"
},
"nativeSrc": "21338:48:1",
"nodeType": "YulExpressionStatement",
"src": "21338:48:1"
},
{
"nativeSrc": "21395:86:1",
"nodeType": "YulAssignment",
"src": "21395:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "21467:6:1",
"nodeType": "YulIdentifier",
"src": "21467:6:1"
},
{
"name": "tail",
"nativeSrc": "21476:4:1",
"nodeType": "YulIdentifier",
"src": "21476:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "21403:63:1",
"nodeType": "YulIdentifier",
"src": "21403:63:1"
},
"nativeSrc": "21403:78:1",
"nodeType": "YulFunctionCall",
"src": "21403:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "21395:4:1",
"nodeType": "YulIdentifier",
"src": "21395:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "21502:9:1",
"nodeType": "YulIdentifier",
"src": "21502:9:1"
},
{
"kind": "number",
"nativeSrc": "21513:2:1",
"nodeType": "YulLiteral",
"src": "21513:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21498:3:1",
"nodeType": "YulIdentifier",
"src": "21498:3:1"
},
"nativeSrc": "21498:18:1",
"nodeType": "YulFunctionCall",
"src": "21498:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "21522:4:1",
"nodeType": "YulIdentifier",
"src": "21522:4:1"
},
{
"name": "headStart",
"nativeSrc": "21528:9:1",
"nodeType": "YulIdentifier",
"src": "21528:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "21518:3:1",
"nodeType": "YulIdentifier",
"src": "21518:3:1"
},
"nativeSrc": "21518:20:1",
"nodeType": "YulFunctionCall",
"src": "21518:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "21491:6:1",
"nodeType": "YulIdentifier",
"src": "21491:6:1"
},
"nativeSrc": "21491:48:1",
"nodeType": "YulFunctionCall",
"src": "21491:48:1"
},
"nativeSrc": "21491:48:1",
"nodeType": "YulExpressionStatement",
"src": "21491:48:1"
},
{
"nativeSrc": "21548:139:1",
"nodeType": "YulAssignment",
"src": "21548:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "21682:4:1",
"nodeType": "YulIdentifier",
"src": "21682:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_9221cc5593ebbd03a3c08e5d1bf5bfda46e44ce5d969a4cf46cd32ca4bbd45ce_to_t_string_memory_ptr_fromStack",
"nativeSrc": "21556:124:1",
"nodeType": "YulIdentifier",
"src": "21556:124:1"
},
"nativeSrc": "21556:131:1",
"nodeType": "YulFunctionCall",
"src": "21556:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "21548:4:1",
"nodeType": "YulIdentifier",
"src": "21548:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "21708:9:1",
"nodeType": "YulIdentifier",
"src": "21708:9:1"
},
{
"kind": "number",
"nativeSrc": "21719:2:1",
"nodeType": "YulLiteral",
"src": "21719:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "21704:3:1",
"nodeType": "YulIdentifier",
"src": "21704:3:1"
},
"nativeSrc": "21704:18:1",
"nodeType": "YulFunctionCall",
"src": "21704:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "21728:4:1",
"nodeType": "YulIdentifier",
"src": "21728:4:1"
},
{
"name": "headStart",
"nativeSrc": "21734:9:1",
"nodeType": "YulIdentifier",
"src": "21734:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "21724:3:1",
"nodeType": "YulIdentifier",
"src": "21724:3:1"
},
"nativeSrc": "21724:20:1",
"nodeType": "YulFunctionCall",
"src": "21724:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "21697:6:1",
"nodeType": "YulIdentifier",
"src": "21697:6:1"
},
"nativeSrc": "21697:48:1",
"nodeType": "YulFunctionCall",
"src": "21697:48:1"
},
"nativeSrc": "21697:48:1",
"nodeType": "YulExpressionStatement",
"src": "21697:48:1"
},
{
"nativeSrc": "21754:86:1",
"nodeType": "YulAssignment",
"src": "21754:86:1",
"value": {
"arguments": [
{
"name": "value2",
"nativeSrc": "21826:6:1",
"nodeType": "YulIdentifier",
"src": "21826:6:1"
},
{
"name": "tail",
"nativeSrc": "21835:4:1",
"nodeType": "YulIdentifier",
"src": "21835:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "21762:63:1",
"nodeType": "YulIdentifier",
"src": "21762:63:1"
},
"nativeSrc": "21762:78:1",
"nodeType": "YulFunctionCall",
"src": "21762:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "21754:4:1",
"nodeType": "YulIdentifier",
"src": "21754:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "21861:9:1",
"nodeType": "Yul
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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